如何调用在循环内返回流的函数

时间:2018-09-11 14:28:25

标签: angular typescript rxjs

我有一个具有以下定义的函数:

validate(item: ValidationItem): Observable<ValidationResult>{}

我需要编写一个将遍历ValidationItem数组的函数,并且一旦它从所有它们的验证中接收到ValidationResult,便要在返回结果之前执行一些逻辑。我将如何去做类似的事情?

2 个答案:

答案 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在线尝试此代码。