web-dev-qa-db-ja.com

PromisesライブラリとES6Promisesを使用することに価値はありますか?

コードを約束し、コールバックスパゲッティを回避するために、 Bluebirdライブラリ を推奨するNodeJSの記事がたくさんあります。

ES6にネイティブPromiseがある場合、Node 4.2.4+を使用するときに、このようなライブラリを使用することに価値はありますか?ES6 Promiseでは実行できないBluebirdで何ができますか?

Bluebirdのドキュメントはまばらであり、すでに約束を「取得」している場合にのみ実際に役立ちます。問題を混乱させ、バグを引き起こす可能性のある別のライブラリが本当に必要ですか?

3
codecowboy

ES6プロミスの速度の問題について、bluebirdの作者による良い answer を次に示します。明らかに、彼には偏見がありますが、彼は問題についてもかなり詳細に検討しています。 ES6の約束を遅くするこれらの問題は、それらが指定されている方法によるものであり、したがって、まだ存在しています。スピードが本当に重要であり、約束があなたのボトルネックであることを確認しない限り、スピードがあなたの決定要因になるほど劇的ではないと思いますが、それはです そこ。

さらに重要なのは、ES6のpromiseは極めて基本的な実装であり、基本的には実行可能な最小限の実装であり、それをpromiseと呼んでいることです。あなたが話しているのは 6 ブルーバードのメソッドと比較して 7 かそこらです。確かに、これらの6でやり遂げることはできますが、promiseを徹底的に使い始めると、同じ種類の問題が何度も発生し始めます。タイムアウトを実装するにはどうすればよいですか?既存の関数を簡単に変換してpromiseを使用するにはどうすればよいですか?約束のグループをより簡単に作成および操作するにはどうすればよいですか?これらは、ES6を使用してブルーバードが解決する種類の問題です。

3
Karl Bielefeldt