Koa.js と Bluebird.js を ES6 Harmony で使用することの違いを理解するのを手伝ってくれませんか。具体的には、どのように
co( function * () {
//stuff
} );
と比較して、
Promise.coroutine( function * () {
//stuff
} );
Koa は、ホイールを再作成するのではなく、Bluebird を使用する必要があるようです。何が違うの?
Koa.js と Bluebird.js を ES6 Harmony で使用することの違いを理解するのを手伝ってくれませんか。具体的には、どのように
co( function * () {
//stuff
} );
と比較して、
Promise.coroutine( function * () {
//stuff
} );
Koa は、ホイールを再作成するのではなく、Bluebird を使用する必要があるようです。何が違うの?
Bluebird を使用するには、co にプル リクエストがあります。そこにあるコメントは、特定のことをより明確にするはずです。co は 0.11 で提供されるネイティブの V8 Promises 機能に依存していますが、Bluebird は 0.10 でもうまく機能することを目指しています。0.11 より前のバージョンでは co を使用できますが、その場合は Bluebird の方が適しています。そのリンクでは、ベンチマークが co が Bluebird よりも遅くないことを示していることがわかります。そのため、その議論は正しくありません。
さらに、わずか 300 行のコードであり、KISS に固執することは一般的に良い習慣です。したがって、車輪の再作成ではありません。それをスリム化しています。コードを読んで、数分でその機能を理解できます。Bluebird API のドキュメントを読むのに 1 時間かかりました。V8の実装が壊れているという言及もあるので、Bluebirdは暫定的に使用される可能性があります.