2017-10-12 1 views

Antwort

0

Die Antwort darauf hängt davon ab, was in der forEach Schleife passiert - wenn agreements (die in den flatMap gehen) eine beobachtbare ist, dass Sie forEach auszusenden verwenden, die Strategie ist ein bisschen anders zusammen, weil Sie don‘ t muss unbedingt wissen, wie viele agreement Objekte ausgegeben werden.

obwohl die forEach ist Unter der Annahme, nur einige andere grundlegende http Berufung läuft, sagen wir, eine, die Versprechen zurückgibt ... Die Antwort dann die Versprechen einzubeziehen geht zu sammeln und es ihnen ermöglicht, alle Versprechen-Wege zu vervollständigen, so dass die Vervollständigung dann in eine Observable für den nächsten Operator in der Kette umgewandelt werden kann.

Einige Pseudo-Code:

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); 
Verwandte Themen