为什么以下代码打印不同的值?

时间:2019-05-13 03:13:07

标签: typescript rxjs

我试图了解switchMapmergeMap之间的区别。尽管我确实读过理论,但我正在尝试将其与输出调和。使用MergeMapSwitchMap的结果显示了不同的输出

在本地运行代码

import { of, interval } from 'rxjs';
import { mergeMap, switchMap, map } from 'rxjs/operators';

const letters = of('a', 'b', 'c');
const result = letters.pipe(
                        mergeMap(x => interval(1000).pipe(map(i => x+i))),
                );
result.subscribe(x => console.log(x));

使用合并映射和切换映射,我期望获得以下结果

a0
b0
c0
a1
b1
c1

SwitchMap为此提供

c0
c1
c2

0 个答案:

没有答案