我有一个具有以下定义的函数:
validate(item: ValidationItem): Observable<ValidationResult>{}
我需要编写一个将遍历ValidationItem数组的函数,并且一旦它从所有它们的验证中接收到ValidationResult,便要在返回结果之前执行一些逻辑。我将如何去做类似的事情?
答案 0 :(得分:1)
看看forEach
forkJoin(... args,选择器:函数):当所有 观测值完成,从每个观测值中发出最后一个发出的值。
forkJoin
答案 1 :(得分:0)
您可能正在搜索forkJoin运算符。它返回一个恰好一次发射的observable,即当所有参数observables完成时:
const x = of(1, 2, 3);
const y = of(10, 20, 30);
const z = of(100, 200, 300);
const items = [x, y, z];
/* yields [3, 30, 300] */
forkJoin([x, y, z]).subscribe(results => console.log(results));
您也可以在Stackblitz在线尝试此代码。