Ed *_*d I 5 javascript rxjs marble-diagram
在 的这个大理石图中mergeMap,你怎么读这个表达式?
// Kind of, looks like an em-dash near the end
mergeMap(i => 10*i--10*i--10*i--|)
Run Code Online (Sandbox Code Playgroud)
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))
Run Code Online (Sandbox Code Playgroud)
10*i--10*i--10*i-|10--10--10-|是将由 发出的每个值与 相乘时得到的可观察值的表达式i。例如
of(1,3,5).pipe(
mergeMap(i => tens$.pipe(map(v => v*i)))
)
Run Code Online (Sandbox Code Playgroud)