1

コルーチンとジェネレーターの区別は、私にはあいまいです。

https://medium.com/code-adventures/174f1fe66127の「Callbacks vs Coroutines - A look at callbacks vs generators vs coroutines」という記事を読んでいただければ幸いです。

...そして、ジェネレーターとコルーチンの間の違いと競合 (タイトルには「vs」という用語が使用されています) が、この記事のどこでどのように説明/提示されているかを説明してください。より一般的な私の質問は、実際にはその違いは何ですか?その違いは、Koa (Node.js) でアプリを構築するときに非同期要求を処理するためのコーディング パターンの違いに適用されますか?

4

1 に答える 1

1

ジェネレーターは「セミコルーチン」と呼ばれることもあり、呼び出し元にのみ生成される、より限定された形式のコルーチンです。これにより、生成された値のみが「スレッド」を中断できるため、ジェネレーターの使用がコルーチンよりも明示的になります。

「ジェネレーター」はコルーチンよりも低レベルです。これらは、コルーチン ライブラリのビルディング ブロックとして使用できます。言語に「ジェネレーター」がある場合は、「コルーチン」ライブラリを構築できます。

ES6 は「ジェネレーター」を提供するため、「コルーチン」ライブラリを使用してノードでコルーチン プログラミングを実装できます (シーケンシャル、コールバックの代わりに try-catch を使用)。

コルーチン ライブラリを使用すると、非同期呼び出しが完了するまで「待機」できます。

チェック: https://github.com/luciotato/waitfor-ES6

于 2014-04-16T15:47:12.190 に答える