2016-04-30 5 views
1

私は約束のライブラリが明確なコード構造を提供することを理解します。 しかし、それらはより速いですか?bluebirdとasync.jsのパフォーマンス

私はasync.js 'each'を使用して、非同期のxmlHttpRequestsをループします。代わりにブルーバード「オール」を採用する方が速くなるのでしょうか?

+1

あなたのコードは複数の非同期応答を待っています。何とか2つの異なるコールバックシステムの処理速度が本当に重要になると思いますか? – jfriend00

+0

私はまた、xmlレスポンスを解析するために非同期の各ループ内に関数を持っています。したがって、2つの異なるコールバックシステムでは、パフォーマンスに大きな違いはないと思いますか?もしそうなら、async.js上でbludbirdを選択する唯一の理由は、2つのコールバックシステム間の異なるコード抽象化ですか? – sawa

+1

非同期ライブラリに対して約束を選択する理由はたくさんあります。私の好きな理由は、堅牢で自動エラーの伝播です。特に防弾コードが必要な複雑なシナリオではそうです。ブルーバードは確かに速いですが、ここでのパフォーマンスは重要な考慮事項ではありません。私は約束を選択する理由の多くのためにこの記事を読むことをお勧めします:https://spion.github.io/posts/why-i-am-switching-to-promises.html。 – jfriend00

答えて

0

ES6を使用している場合、もう外部ライブラリは必要ありません。組み込みの機能を使用することができます。また、すべてのリクエストの結果を返す場合は、ユーザPromise.allとすると、約束を返します。 詳細はMDN linkです。

+1

しかし、ネイティブの約束のライブラリに比べてブルーバードは高速ではありませんか? – sawa

+1

ネイティブ・プロミスは遅くなります。青い鳥の作者からの答えはここで優れた説明をしています。 http://programmers.stackexchange.com/questions/278778/why-are-native-es6-promises-slower-and-more-memory-intensive-than-bluebird – MaxKroshka

+1

ここには、より高速なデータがたくさんあります少ないメモリを使用しているもの https://spion.github.io/posts/why-i-am-switching-to-promises.html – MaxKroshka

関連する問題