RxJS map + filter
按声明顺序完成一对一转换,再移除不满足条件的值。
map(x × 2) → filter(x > 4)时间线如何变化
- 11 被映射成 2
2 不满足 value > 4,被 filter 拦截。
- 22 被映射成 4
4 仍然没有通过过滤条件。
- 33 → 6
第一个值进入输出流。
- 44 → 8
map 与 filter 始终按 pipe 中的顺序执行。
- 55 → 10
最终输出 6、8、10。
受支持的示例代码
实验室只根据下列示例中的关键操作符生成预设时间线,不执行任意输入代码。
import { from, map, filter } from 'rxjs'
const result$ = from([1, 2, 3, 4, 5]).pipe(
map(value => value * 2),
filter(value => value > 4)
)
result$.subscribe(console.log)