8

JavaScript で非同期コードを処理する場合、2 つの方法のどちらが優れているかを知りたいです。どの方法がよりクリーンなコードにつながるかを理解したいです。私はプロミスに慣れており、非同期アプローチよりも柔軟性があるようです ( https://github.com/caolan/async )。

Task.js ライブラリ ( http://taskjs.org/ )についても知っていますが、これは Ecmascript Harmony の一部である yield キーワードに依存しています。

4

4 に答える 4

3

質問にノードのタグを付けたので、非同期ライブラリをお勧めします。制御フロー関数は優れた操作性を備えており、見苦しく追跡が難しいコールバック チェーンを排除します。この API は、ノードの署名に続くコールバックを(error, result)コントロール関数に挿入するのに非常に適しています。基本的に、私が書くほとんどすべてのノード スクリプトにデフォルトで含まれています。

クライアント側でも async を使用できますが、ほとんどのプロジェクトではおそらく不要です。jQuery には promise が含まれており、それらを使用して同じことを達成できます。

于 2013-03-19T00:44:46.960 に答える
1

promise/a と async lib には異なるターゲットがあり、promise は 1 ステップの async 操作の進行状況に焦点を当て、async は複数ステップの async 操作に焦点を当てていると思います。

ちなみに、非同期操作を処理するには、匿名関数の代わりに名前付き関数を使用するのが最も効果的な方法です

于 2013-03-19T00:54:43.623 に答える