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

В чем разница между switchMap и mergeMap

switchMap и mergeMap — операторы RxJS для обработки асинхронных потоков.

switchMap отменяет предыдущий внутренний Observable при получении нового значения из внешнего потока. Подходит для запросов, где важна только последняя эмиссия (например, поиск с автодополнением).

mergeMap (он же flatMap) сохраняет все активные внутренние Observable, объединяя их выходы. Подходит для параллельных запросов, где порядок не важен.

Пример:

typescript
// switchMap — отменяет предыдущий запрос
input$.pipe(
  switchMap(query => fetch(`/search?q=${query}`))
);

// mergeMap — выполняет все запросы параллельно
click$.pipe(
  mergeMap(() => fetch('/data'))
);

Выбор зависит от задачи: switchMap для отмены старых запросов, mergeMap — для параллельной обработки.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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