在 Angular 中,我有一系列可观察值。我想执行所有这些可观察的结果,但也处理所有不同的结果。当我尝试使用 forkJoin
或 combineLatest
实现此功能时,我在测试场景中仅得到一个(错误)响应,其中我有 4 个可观察对象,但全部失败。
示例:
const callsToExecute = [];
vehicles.forEach(vehicle => {
callsToExecute.push(this.createRequest(vehicle.id));
)};
forkJoin(callsToExecute).subscribe(result => {}, error => {/** single response error */});
如何捕获所有不同的响应?
最佳答案
您可以尝试以下方法来捕获单个可观察量的错误:
const callsToExecute = [];
callsToExecute.push(of('Hello').pipe(map((res) => res), catchError(e => of('Oops! 1'))));
callsToExecute.push(of('Hello 2').pipe(map((res) => res), catchError(e => of('Oops! 2'))));
callsToExecute.push(of('Hello 3').pipe(map((res) => res), catchError(e => of('Oops! 3'))));
const example = forkJoin(
callsToExecute
);
const subscribe = example.subscribe(val => console.log(val));
关于angular - 如何从一系列可观察量中捕获所有不同的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58953400/