我有一个例程,将Observable收集到一个数组中,然后forkJoins它们。
// Contains X post requests.
let obs: Observable<any>[] = [];
let numberExecuted: number = 0;
let failed = [];
forkJoin(
obs.map(o =>
o.pipe(
catchError(e => {
failed.push(e);
return of(null);
}),
tap(() => {
numberExecuted++;
})
)
)
)
.subscribe(() => {})
.add(() => {
// Display what succeeded / failed.
});
我想将哪些请求失败/成功的例程保存到例程完成后要显示在对话框中的数组中。我现在的逻辑是不捕获失败的请求并存储错误。订阅完成后,尽管有失败的请求,失败的数组始终为[]。