使用异步代码

时间:2016-06-14 21:01:12

标签: angular reactive-programming rxjs rxjs5

我通常使用这样的扫描:

Observable.interval(10).take(10).scan((acc, x) => acc.concat(x), []).subscribe...

现在,在scan的第一个参数中,我想传递一个获取(acc,x)并返回新acc的Observable的方法,而不是同步方法。 (例如,保存为dB并使用来自db的信息返回保存的对象的方法,如修订版号,然后将其添加到累加器中)。

我发现mergeScan operator似乎有我想要的签名,但我找不到任何示例,当我尝试时,我得到Property 'mergeScan' does not exist on type Observable<number>

我试过的是:

Observable.interval(10).take(10)
        .mergeScan((acc, x) => Observable.of(acc.concat(x)), [])
        .subscribe(x => console.log(x));

我在Angular2中使用rxjs5

1 个答案:

答案 0 :(得分:2)

我可以在Rxjs的5.0.0-beta.6版本中看到这个运算符。

您是否尝试以这种方式导入运算符:

import 'rxjs/add/operator/mergeScan';