Rxjsのpipe関数で演算子をカスタム化

pipeでカスタム演算子を生成



pipeはカスタム演算子の作成に使う関数です。
ここで使う演算子は、
from、filter、mapです。
これらを組み合わせて、カスタム演算子を作成します。

演算子には色々なカテゴリーがあります。
filterはフィルタリング演算子、
mapは変換演算子、
fromは生成演算子です。

生成演算子はpipeで使用しません。
他の演算子はpipeで使用できます。

始めにRxを使えるようにします。
const Rx = require('rxjs/Rx')

次はObservableにより、複数の値の、
遅延pushコレクションを生成します。
Rx.Observable.from([1,2,3,4,5,6])

そのあとpipe()関数を使い、カスタム演算子を生成します。

カスタム演算子は、
filter((x) => x % 2 === 0),
により偶数を選び、
map((x) => x + x)
によって2倍にします。

表示するには
subscribeを使う必要があります。

subscribe(x => console.log(x))によって、
結果を表示しています。




const Rx = require('rxjs/Rx');
const { map, filter} = require('rxjs/operators');

const stream =Rx.Observable.from([ 1,2,3,4,5,6]);

stream.pipe(
filter((x) => x % 2 === 0),
map((x) => x + x)
)
.subscribe(x => console.log(x));

【結果】
4
8
12