RxJS在业务流程协调与数据库操作中的应用
1. RxJS的forkJoin操作符
在处理异步数据时,协调多个并发操作是一项具有挑战性的任务。RxJS提供了 forkJoin()
操作符,它在很多方面与 combineLatest()
类似,负责并行运行多个可观察序列并收集它们的最后一个元素。与 combineLatest()
不同的是, forkJoin()
仅会发出每个分支流的最后一个值。
1.1 使用forkJoin获取多个股票数据
以下是使用 forkJoin()
获取多个股票数据的步骤:
1. 创建一个函数,使用可观察对象获取公司股票符号和价格的股票数据。
const requestQuote$ = symbol =>
Rx.Observable.fromPromise(
ajax(webservice.replace(/\$symbol/, symbol)))
.map(response => response.replace(/"/g, ''))
.map(csv);
- 遍历用户首选的股票符号:
FB
(Facebook)、AAPL
(Apple)和CTXS
(Citrix)。