想象一下我有以下代码,其中一个可观察到的抛出错误,而另一个在延迟后成功抛出:]
let observables: Observable<String>[] = [ of("string 1").pipe(delay(1000)), throwError("error") ]; observables.forEach((observable, i) => { observable.subscribe(val => { console.log('success ' + i); }, error => { console.log('error ' + i); }) }) forkJoin(observables).subscribe(res => { console.log('final success'); }, error => { console.log('final error'); });
此代码将记录以下内容:
所有可观察对象都成功或出错了?目标是按照以下顺序登录:error 1 final error success 0
为了执行某些代码我可以使用哪种运算符或回调之后
error 1 success 0 final error
另一个可接受的结果是在某个地方捕获错误,然后记录:
error 1 success 0 final success
我进行了演示:https://stackblitz.com/edit/typescript-myfstw?file=index.ts
[想象一下,我有以下代码,其中一个可观察的抛出错误,而另一个在延迟后成功执行:让可观察的对象:Observable