Операторы для работы с потоками данных, особенно актуальные в контексте асинхронного программирования и реактивных библиотек (вроде RxJS), можно разделить на несколько категорий.
Операторы создания (Creation Operators): Используются для создания нового потока данных.
of()
: Создает поток, который испускает фиксированный набор значений.
typescript
from()
: Превращает различные источники данных (Promise, Iterable, ArrayLike) в поток.
typescript
interval()
: Создает поток, который испускает последовательные числа через заданный интервал времени.
typescript
timer()
: Создает поток, который испускает одно значение после заданного времени, опционально с последующими значениями через интервал.fromEvent()
: Создает поток из DOM-событий или EventEmitter.Операторы трансформации (Transformation Operators): Изменяют значения, испускаемые потоком.
map()
: Преобразует каждое значение, испускаемое потоком, применяя к нему заданную функцию.
typescript
pluck()
: Извлекает свойство из каждого объекта, испускаемого потоком.scan()
: Применяет аккумуляторную функцию к каждому значению потока и испускает промежуточные результаты.mergeMap()
/ flatMap()
: Проецирует каждое значение исходного потока в новый поток (Inner Observable) и объединяет (сглаживает) их в один выходной поток. Позволяет выполнять асинхронные операции для каждого значения.
typescript
switchMap()
: Похож на mergeMap
, но при испускании нового значения исходным потоком отменяет работу предыдущего внутреннего потока. Полезен для автодополнения или запросов с отменой.concatMap()
: Похож на mergeMap
, но гарантирует, что внутренние потоки будут выполнены последовательно в порядке их создания.Операторы фильтрации (Filtering Operators): Выборочно
Операторы для работы с потоками данных, особенно актуальные в контексте асинхронного программирования и реактивных библиотек (вроде RxJS), можно разделить на несколько категорий.
Операторы создания (Creation Operators): Используются для создания нового потока данных.
of()
: Создает поток, который испускает фиксированный набор значений.
typescript
from()
: Превращает различные источники данных (Promise, Iterable, ArrayLike) в поток.
typescript
interval()
: Создает поток, который испускает последовательные числа через заданный интервал времени.
typescript
timer()
: Создает поток, который испускает одно значение после заданного времени, опционально с последующими значениями через интервал.fromEvent()
: Создает поток из DOM-событий или EventEmitter.Операторы трансформации (Transformation Operators): Изменяют значения, испускаемые потоком.
map()
: Преобразует каждое значение, испускаемое потоком, применяя к нему заданную функцию.
typescript
pluck()
: Извлекает свойство из каждого объекта, испускаемого потоком.scan()
: Применяет аккумуляторную функцию к каждому значению потока и испускает промежуточные результаты.mergeMap()
/ flatMap()
: Проецирует каждое значение исходного потока в новый поток (Inner Observable) и объединяет (сглаживает) их в один выходной поток. Позволяет выполнять асинхронные операции для каждого значения.
typescript
switchMap()
: Похож на mergeMap
, но при испускании нового значения исходным потоком отменяет работу предыдущего внутреннего потока. Полезен для автодополнения или запросов с отменой.concatMap()
: Похож на mergeMap
, но гарантирует, что внутренние потоки будут выполнены последовательно в порядке их создания.Операторы фильтрации (Filtering Operators): Выборочно
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.