6

Koa.js と Bluebird.js を ES6 Harmony で使用することの違いを理解するのを手伝ってくれませんか。具体的には、どのように

co( function * () {
  //stuff
} );

と比較して、

Promise.coroutine( function * () {
  //stuff
} );

Koa は、ホイールを再作成するのではなく、Bluebird を使用する必要があるようです。何が違うの?

4

2 に答える 2

2

Bluebird を使用するには、co にプル リクエストがあります。そこにあるコメントは、特定のことをより明確にするはずです。co は 0.11 で提供されるネイティブの V8 Promises 機能に依存していますが、Bluebird は 0.10 でもうまく機能することを目指しています。0.11 より前のバージョンでは co を使用できますが、その場合は Bluebird の方が適しています。そのリンクでは、ベンチマークが co が Bluebird よりも遅くないことを示していることがわかります。そのため、その議論は正しくありません。

さらに、わずか 300 行のコードであり、KISS に固執することは一般的に良い習慣です。したがって、車輪の再作成ではありません。それをスリム化しています。コードを読んで、数分でその機能を理解できます。Bluebird API のドキュメントを読むのに 1 時間かかりました。V8の実装が壊れているという言及もあるので、Bluebirdは暫定的に使用される可能性があります.

于 2014-07-17T12:42:19.560 に答える