ES6 ジェネレーターの利点のいくつかについて、私はまだ混乱しています。どうやって、
app.use(function *(next){
var start = new Date;
yield next;
var ms = new Date - start;
this.set('X-Response-Time', ms + 'ms');
});
のようなものと比較して、
app.use(function (next, ctx) {
var start = new Date;
next(ctx);
var ms = new Date - start;
ctx.set('X-Response-Time', ms + 'ms');
});
Koa のようなものにとってジェネレータが特別な理由は何ですか? これは、Koa.js がジェネレーターについて言わなければならないことです。
Connect の実装とは対照的に、関数が返されるまで一連の関数を介して単純に制御を渡します。Koa は「ダウンストリーム」を生成し、制御は「アップストリーム」に戻ります。
それは私の上記の擬似コードが行うことではありませんか?