RxJs оператори.

Посилання на джерело

У RxJs існує два види операторів.

  1. Канальні (pipeble), які можуть бути вставлені у канал наступним чином.

    observableInstance.pipe(operator())

Наприклад filter(…) або mergeMap(…)

Вони не змінюють існуючий екземпляр потоку, а повертають новий потік, у якого логіка підписки така сама, як і у вихідного потоку.

Канальні оператори – це функції, які приймають вихідний потік як аргумент і повертають новий потік, не змінюючи вихідного.

  1. Творчі оператори.

Вони створюють нові потоки із різних джерел (масивів, подій тощо).

Наприклад of(1, 2, 3) створить відстежуваний потік, який згенерує 1, 2, і 3 один за одним.

Відмінність of і from у тому, що of([1,2,3]) згенерує потік з одного елемента масиву, а from([1,2,3]) з 3-х.

Канальність

Канальні оператори - це прості функції, які можуть бути вкладені в канал так:

obs.pipe(
  op1(),
  op2(),
  op3(),
  op3(),
)

Приклад творення потоку з допомогою операторів.

import { interval } from 'rxjs';

const observable = interval(1000 /* number of milliseconds */);

Потоки найвищого рівня.

Спостерігаються потоки (НП) зазвичай генерують значення простих типів як числа, масиви і т.д.