Koa.js documentation私は自分の足が非同期/待っていることや他のグッズに濡れていくにつれて、もっと知りたいと思う本当にクールな小さなプラットフォームのようです。この例では、JavaScriptジェネレータを使用する目的は何ですか?
私は新しいJSでジェネレータの役割を理解していないようです。私はこのような例に走り続ける:
// Using .is()
const minify = require('html-minifier');
app.use(function * minifyHTML(next) {
yield next;
if (!ctx.response.is('html')) return;
let body = ctx.body;
if (!body || body.pipe) return;
if (Buffer.isBuffer(body)) body = body.toString();
ctx.body = minify(body);
});
// Streams
app.use(function * (next) {
ctx.body = someHTTPStream.on('error', ctx.onerror).pipe(PassThrough());
});
ここを発電機を使用する目的は何ですか?私は彼らがどのように動作するのか理解していることを認めなければなりませんが、ここでそのユーティリティは絶対に見えません。非同期/稼動を待つ必要がありますか?
なぜ上記の例ではありません。
app.use(function(next) {
ctx.body = 'Hello World';
});
でも自分のHello Worldアプリケーションは、この行いませんので、彼らはその例を提供し、
app.use(ctx => {
ctx.body = 'Hello World';
});
*まだ 'async' /' await'を使用興亜*は、それはまだ発電機で立ち往生(しかしためにそれらを使用していていません – Bergi
Koaは、 'yield 'の使い方が' await'が本来持っている動作に似ているように、ジェネレータを手動で実行します – Bergi