で2つのサービスを呼び出すと、2番目のサービスが失敗することがありますが、2番目のサービスが失敗した場合はstream
を続行します。私がこれまで持って何アングル2:rxjs forkJoin httpエラー継続ストリーム
:
Observable.forkJoin([
this.http.get('/service1'),
this.http.get('/service2').catch(error => Observable.empty())
])
.do(([result1, result2]: any[]) => {
//When service2 fails, I never get in here with .empty()
})
Observable.of(undefined)
またはObservable.of(error)
作品。しかし、私はcatch
からempty Observable
を返すと、呼び出しが黙って失敗し、ストリームが続行されるという印象を受けましたか?
service2が失敗した場合、ストリームが確実に継続するようにするにはどうすればよいですか?
+1でも任意のソースが空のhttpsの場合forkJoin'は発しない 'チェックするテストケースがあります:// githubの。 com/ReactiveX/rxjs/blob/master/spec/observables/forkJoin-spec.ts#L165 –