angular - 使用异步代码扫描操作符

标签 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

最佳答案

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

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

import 'rxjs/add/operator/mergeScan';

关于angular - 使用异步代码扫描操作符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37822012/

相关文章:

angular - 运行 start :prod on fresh project 时,由 node_modules 中的 @types 依赖项引起的 NestJs 错误

javascript - 方法返回 null

java - 将 HystrixCommands 迁移到 Resilience4j

angular - 使用 rxjs 调用多个 API 并将其作为 observable 返回

javascript - 如何在 json 行的每个开头之前添加编号(格式化)

javascript - typescript 文件中的Nodejs加密

react-native - 显示加载程序,直到实时链接图像未完全加载 React Native 0.58

java - CompletionStage、CompletableFuture Void - 返回什么?

javascript - Ngx-Bootstrap Typeahead 在输入清除时保留下拉值

angular - 仅当第一次失败时才执行第二次 http 调用