Чим відрізняються «pipeable» оператори від «creation»?
В RxJS є два типи операторів:
1. Creation Operators
Створюють новий Observable з нуля.
Приклади:
of(1, 2, 3)from([10, 20, 30])interval(1000)timer(2000)fromEvent(button, 'click')
Вони кажуть: «Почни потік звідси».
2. Pipeable Operators
Обробляють дані всередині вже наявного потоку.
Їх ти використовуєш всередині .pipe(...).
Приклади:
map(x => x * 2)filter(x => x > 10)take(3)debounceTime(300)switchMap(...)
Вони кажуть: «Коли потік пішов, зміни, сповільни, вибери потрібне».
Приклад разом:
ts
import { of } from 'rxjs';
import { map, filter } from 'rxjs/operators';
of(1, 2, 3, 4) // ← creation operator
.pipe( // ← pipeable operators
filter(x => x % 2 === 0),
map(x => x * 10)
)
.subscribe(console.log);Висновок:
| Тип | Що робить | Де використовується |
|---|---|---|
| Creation | Створює потік | of(), from(), interval() |
| Pipeable | Змінює потік | всередині .pipe(...) |
Один запускає річку. Інший ставить фільтри і повороти.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.