【发布时间】:2019-07-09 10:16:00
【问题描述】:
有没有办法使用可管道操作符来跟踪值?
举一个具体的例子,假设我想:
通过数据流S:
- 记住S当前数据
- 发出 HTTP 请求
- 对响应进行处理
- 使用操作结果发出另一个 HTTP 请求
- 创建一个包含基于 1. 和响应的值的对象
然后合并这些并利用我创建的对象。
基本上,
const data = from([1, 2, 3]).pipe(
// Memorize here
map(a => req1(a)),
flatMap(a => a),
map(b => syncOp(b)),
map(c => req2(c)),
flatMap(d => d),
map(e => ({id: _memorized_, value: e}))
merge(data).subscribe(f => console.log(f.id, f.value))
我们将不胜感激任何有关此事的意见。
注意:如果可能的话,我不希望通过在顶部创建一个对象来将我需要的值一直向下传递。
【问题讨论】:
标签: rxjs rxjs-pipeable-operators