Встречается на собеседованиях • сегодня

Что такое mergeMap

mergeMap (или flatMap) — оператор в RxJS, который преобразует каждое значение из потока в новый поток (Observable) и объединяет их в один выходной поток.

Особенности:

  • Поддерживает параллельное выполнение внутренних потоков.
  • Не отменяет предыдущие внутренние потоки при поступлении новых значений.

Пример:

typescript
import { of } from 'rxjs';
import { mergeMap } from 'rxjs/operators';

const source$ = of('a', 'b', 'c');
const result$ = source$.pipe(
  mergeMap(char => of(`${char}1`, `${char}2`))
);

result$.subscribe(console.log);
// Вывод: a1, a2, b1, b2, c1, c2 (может быть в другом порядке из-за параллельности)

Когда использовать:

  • Для параллельной обработки запросов (например, API-вызовов).
  • Когда порядок результатов не важен.

Альтернативы:

  • switchMap — отменяет предыдущий поток при новом значении.
  • concatMap — выполняет потоки последовательно.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы