2017-10-12 10 views

答えて

0

これに対する答えはforEachループ内で何が起こっているかに依存します - あなたはドンのでagreements(1がflatMapに入るが)あなたが発するようにforEachを使用している、戦略は完全に少し異なっていることが観察されるが」どのくらい多くのオブジェクトが放出されるのかを知る必要があります。 forEachだけで答えがそのように、約束を収集し、それらすべてが約束ウェイを完了できるように関与しようとしている...、と言う、約束を返すものを他のいくつかの基本的なHTTP呼び出しを実行しているのにと仮定

その完了をチェーン内の次の演算子のObservableに変換することができます。

いくつかの擬似コード:

var agreement: Observable<agreement[]> = Observable.ajax({...}) 
    .flatMap(agreements:[] => { 
     const promises = agreements.map(agreement => doHttpThing() 
      .then(...) 
      .catch(err => Observable.throw(err)) 
     ); 
     return Observable.fromPromise(Promise.all(promises)); 
    }) 
    .map(agreements => agreements); 
関連する問題