Що таке оператор в RxJS?
Оператор в RxJS - це функція, яка змінює, фільтрує або комбінує потік даних (Observable).
Приклад на пальцях:
Ти слухаєш потік чисел: 1, 2, 3, 4
Хочеш залишити тільки парні → використовуєш оператор filter
Хочеш помножити на 10 → використовуєш map
ts
import { of } from 'rxjs';
import { filter, map } from 'rxjs/operators';
of(1, 2, 3, 4).pipe(
filter(n => n % 2 === 0),
map(n => n * 10)
).subscribe(val => console.log(val));Виведе: 20, 40
Навіщо потрібні оператори:
- обробити дані (
map,filter,tap) - керувати часом (
debounceTime,delay,throttleTime) - змінювати потоки (
switchMap,mergeMap,concatMap) - зупиняти (
take,takeUntil) - комбінувати (
combineLatest,withLatestFrom)
Як працюють:
Оператори використовуються всередині .pipe(...) - це як ланцюжок обробки:
ts
observable.pipe(
operator1,
operator2,
...
)Висновок:
Оператор в RxJS - це інструмент, який перетворює потік даних. За його допомогою ти кажеш: «не просто слухай усе, а обробляй ось так». Без операторів RxJS був би просто слухачем. З ними, він як потоковий процесор.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.