2017-02-13 5 views
1

ES2016では約束があり、それは素晴らしいことです。残念ながら、機能は非常に最小限であり、非同期パッケージで利用可能なシリーズやウォーターフォールのようなものはありません。 約束のためにこの機能を提供するパッケージ、または一般的に人々がそのユースケースをどのように扱うのか?約束を返す関数の連続実行

+0

約束のライブラリを求めていますか? – evolutionxbox

+3

これは、 '.then'が – Paul

+0

のものです。@evolutionxboxの場合:yes – doberkofler

答えて

5

を直列に使用できる機能を返す約束の配列を実行するにはArray.prototype.reduce

let final = functions.reduce((prev, f) => prev.then(f), Promise.resolve()); 

「初期」引数Promise.resolve()だけ含む配列を渡された場合(そうでなければ、約束のチェーンをシードするがあります単一機能)では、.reduceコールバックは呼び出されません。言語

1

すでに存在する(または存在する)は、この機能のほとんど:

  • ラン同時アクションの束と結果の配列のための約束を得る:Promise.all()
  • アクションの束を実行しますPromise.race()
  • 一連のプロミスを連続して実行する:reduce()を他の回答のように使用するか、非同期反復プロトコルを使用してください。