2017-10-02 8 views
0

「map/reduce」のような感じのAWSラムダ関数を使っています。しかし、その 'マップ'部分、つまり複数の呼び出しを行う部分は非同期です。node.jsのコールバックの結合(結合)6

ノード6 STD libを使用すると、すべての結果を共有スポットに戻す動的な方法がありますか。

私は今のところについて考えてきました:

  • await asyncは素晴らしい抽象化したものですが、私の知識にノード6ではありません、ただノード8
  • array.reduceはそれがコールバックを取るが、言います私は間違っている可能性がありますが、http要求の構造は修飾されていないようです
  • 私は、それぞれのコールバックが共有キューまたは配列に配置される実際に最適ではない解決策について考えてきました。配列の長さをチェックするすべての要求の後にループがありますが、私はこの解決策が嫌いです。

私は正しい方向に私を指摘するか、これを行うコードを教えてください。

+0

すべての非同期関数を約束を返す関数に変換し、 'Promise.all'を使用してすべての結果を取得します。 – alexmac

+0

@alexmac、ありがとうございます! STD libが約束どおりhttpを実行するか、またはコールバックを約束に変換するlibの方向? – jQwierdy

+0

Node.jsは本質的にPromisesをサポートしていますが、BluebirdやQ.などの有望なライブラリがあります。Bluebirdには、単一の関数またはすべての関数を約束事に変換する 'promifiy'と' promisifyAll'メソッドがあります。 – alexmac

答えて