Skip to main content

Чим відрізняються «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

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.