带有异步代码的扫描运算符
Scan operator with asynchronous code
我通常这样使用扫描:
Observable.interval(10).take(10).scan((acc, x) => acc.concat(x), []).subscribe...
现在,在扫描的第一个参数中,我想传递一个获取 (acc, x) 和 returns Observable of new acc 的方法,而不是同步方法。 (例如,一种保存到 dB 和 returns 保存的对象的方法,其中包含来自 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
我在Rxjs的5.0.0-beta.6版本中可以看到这个运算符
你试试这样导入运算符:
import 'rxjs/add/operator/mergeScan';
我通常这样使用扫描:
Observable.interval(10).take(10).scan((acc, x) => acc.concat(x), []).subscribe...
现在,在扫描的第一个参数中,我想传递一个获取 (acc, x) 和 returns Observable of new acc 的方法,而不是同步方法。 (例如,一种保存到 dB 和 returns 保存的对象的方法,其中包含来自 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
我在Rxjs的5.0.0-beta.6版本中可以看到这个运算符
你试试这样导入运算符:
import 'rxjs/add/operator/mergeScan';