5

在这个 的大理石图中mergeMap,你如何阅读这个表达式?

// Kind of, looks like an em-dash near the end
mergeMap(i => 10*i--10*i--10*i--|)

在此处输入图像描述

4

1 回答 1

2

mergeMap映射i到由字符串表示的可观察对象10*i--10*i--10*i-|。此字符串包含表示在虚拟时间发生的事件的大理石语法。

文档中使用的主要字符是:

  • -帧:1“帧”的虚拟时间流逝
  • [a-z0-9]任何字母数字字符:表示由生产者信号发出的值next()
  • |完成:一个可观察对象的成功完成。这是可观察的生产者信号complete()
  • #error:终止 observable 的错误。这是可观察的生产者信号error()

10--10--10-|图片中第二个可观察的表达式也是如此。例如

const tens$ = timer(0, 4).pipe(take(3), mapTo(10))

10*i--10*i--10*i-|10--10--10-|是一个表达式,表示当您将由with发出的每个值相乘时得到的 observable i。例如

of(1,3,5).pipe(
  mergeMap(i => tens$.pipe(map(v => v*i)))
)
于 2020-10-09T23:48:22.380 回答