1

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 は「ダウンストリーム」を生成し、制御は「アップストリーム」に戻ります。

それは私の上記の擬似コードが行うことではありませんか?

4

1 に答える 1