0
resource1$ = hash1$.map((renew: boolean) => renew ? http1$ : Observable.empty());
resource2$ = hash2$.map((renew: boolean) => renew ? http2$ : Observable.empty());
sync$ = Observable.forkJoin(resource1$, resource2$);
sync$.subscribe(() => console.log('Sync done!), (err) => console.log('Sync failed!'));
こんにちは、 私のアプリケーションが起動したとき、私はAPIから同期する複数のリソースを持っています。 私はそれらを並行して同期させ、HEAD要求を使用してそれらを同期させ、X-HASHヘッダを古いものと比較する必要があるかどうかをチェックしたい。条件RxJSストリーム
ですから、hash1 $はHEADリクエストを行い、ハッシュを比較してtrueまたはfalseを返します。
resource1 $がObservable.emptyを返すと、$がすべてのストリームをキャンセルするため、私は立ち往生しています...そして、理由はわかりません。
おかげマーティン。今は失敗しません。しかし、私は.mapの代わりに.flatMap演算子を使用する必要がありました 'hash1 $ .flatMap((更新:ブール値)=>更新?http:// Observable.of(false));) http1 $ Observable.fromPromiseですか? – David
これは 'sync $'を後でどのように使いたいかによって決まります。 – martin