Почему следующие коды печатают разные значения? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь понять разницу между switchMap и mergeMap. Хотя я и читал теорию, я пытаюсь согласовать это с результатами. Результаты использования MergeMap против SwitchMap показывают различный вывод

Локально запускал код

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));

С Merge Map AND Switch Map я бы ожидал следующих результатов

a0
b0
c0
a1
b1
c1

SwitchMap дает это

c0
c1
c2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...