Rxjs-operators

提供:Dev Guides
移動先:案内検索

RxJS-演算子

演算子はRxJSの重要な部分です。 演算子は、オブザーバブルを入力として取り込み、出力もオブザーバブルである純粋な関数です。

オペレーターとの連携

演算子は、オブザーバブルを入力として取り込み、出力もオブザーバブルである純粋な関数です。

演算子を操作するには、pipe()メソッドが必要です。

pipe()の使用例

let obs = of(1,2,3);//an observable
obs.pipe(
   operator1(),
   operator2(),
   operator3(),
   operator3(),
)

上記の例では、値1、2、3を受け取る* of()*メソッドを使用してオブザーバブルを作成しました。 このオブザーバブルでは、上記のようにpipe()メソッドを使用して、任意の数の演算子を使用してさまざまな操作を実行できます。 オペレーターの実行は、指定されたオブザーバブルで順次実行されます。

以下は実際の例です-

import { of } from 'rxjs';
import { map, reduce, filter } from 'rxjs/operators';

let test1 = of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
let case1 = test1.pipe(
   filter(x => x % 2 === 0),
   reduce((acc, one) => acc + one, 0)
)
case1.subscribe(x => console.log(x));

出力

30

上記の例では、偶数をフィルターするフィルター演算子を使用しました。次に、* reduce()*演算子を使用して、偶数の値を追加し、サブスクライブ時に結果を提供します。

これから説明するオブザーバブルのリストを示します。

  • 作成
  • 数学的
  • Join
  • 変換
  • フィルタリング
  • 実用性
  • 条件付き
  • マルチキャスト
  • エラー処理

作成オペレーター

以下は、作成演算子カテゴリで説明する演算子です-

Sr.No Operator & Description
1

ajax

このオペレーターは、指定されたURLに対してajaxリクエストを作成します。

2

from

この演算子は、配列、配列のようなオブジェクト、プロミス、反復可能なオブジェクト、またはオブザーバブルのようなオブジェクトからオブザーバブルを作成します。

3

fromEvent

この演算子は、ボタン、クリックなどのイベントを発生させる要素で使用されるオブザーバブルとして出力を提供します。

4

fromEventPattern

このオペレーターは、イベントハンドラーの登録に使用される入力関数からオブザーバブルを作成します。

5

interval

この演算子は、指定された時間の間、毎回オブザーバブルを作成します。

6

of

この演算子は、渡された引数を受け取り、それらを監視可能に変換します。

7

range

この演算子は、指定された範囲に基づいて一連の数値を提供するObservableを作成します。

8

throwError

このオペレーターは、エラーを通知するオブザーバブルを作成します。

9

timer

この演算子は、タイムアウト後に値を出力するオブザーバブルを作成し、値は各呼び出し後に増加し続けます。

10

iif

このオペレーターは、どのObservableがサブスクライブされるかを決定します。

数学演算子

以下は、数学演算子カテゴリで説明する演算子です-

Sr.No Operator & Description
1

Count

count()演算子は値を持つObservableを受け取り、それを単一の値を与えるObservableに変換します

2

Max

Maxメソッドは、すべての値を持つオブザーバブルを取り込み、最大値を持つオブザーバブルを返します

3

Min

Minメソッドは、すべての値を持つオブザーバブルを取り込み、最小値を持つオブザーバブルを返します。

4

Reduce

reduceオペレーターでは、入力オブザーバブルでアキュムレーター関数が使用され、アキュムレーター関数は、オプションのシード値をアキュムレーター関数に渡して、オブザーバブルの形式で累積値を返します。

reduce()関数は2つの引数を受け取り、1つはアキュムレーター関数、2つ目はシード値です。

結合演算子

以下は、結合演算子カテゴリで説明する演算子です。

Sr.No Operator & Description
1

concat

このオペレーターは、入力として指定されたObservableを順次発行し、次のオペレーターに進みます。

2

forkJoin

この演算子は、配列またはdictオブジェクトを入力として受け取り、オブザーバブルが完了するのを待って、指定されたオブザーバブルから出力された最後の値を返します。

3

merge

このオペレーターは、入力オブザーバブルを取り込み、オブザーバブルからすべての値を出力し、単一の出力オブザーバブルを出力します。

4

race

これは、最初のソースオブザーバブルのミラーコピーになるオブザーバブルを返します。

変換演算子

以下は、変換演算子カテゴリで説明する演算子です。

Sr.No Operator & Description
1

buffer

バッファはオブザーバブルで動作し、オブザーバブルとして引数を取ります。 元のオブザーバブルで放出された値を配列でバッファリングし始め、オブザーバブルが引数として放出されるときに同じ値を放出します。 引数として取得されたオブザーバブルが発行されると、バッファがリセットされ、入力オブザーバブルが発行されて同じシナリオが繰り返されるまで、元のオブザーバが再びバッファリングされます。

2

bufferCount

buffercount()演算子の場合、それは呼び出されたオブザーバブルから値を収集し、buffercountに指定されたバッファーサイズが一致すると同じ値を出力します。

3

bufferTime

これはbufferCountに似ているため、ここでは、それが呼び出されたオブザーバブルから値を収集し、bufferTimeSpanを発行します。 つまり、1つの引数を取ります。 bufferTimeSpan

4

bufferToggle

bufferToggle()の場合は、openingsとclosedSelectorの2つの引数を取ります。 開始引数はサブスクライブ可能であるか、バッファーを開始することを約束し、2番目の引数closeSelectorもサブスクライブ可能であるか、またはバッファーを閉じて収集された値を出力するインジケーターを約束します。

5

bufferWhen

この演算子は、配列形式で値を提供します。この関数は、バッファーを閉じて、放出し、リセットするタイミングを決定する関数として1つの引数を取ります。

6

expand

展開演算子は、ソースオブザーバブルと再帰的に出力オブザーバブルに適用される引数として関数を受け取ります。 最終的な値は観察可能です。

7

groupBy

groupBy演算子では、出力は特定の条件に基づいてグループ化され、これらのグループアイテムはGroupedObservableとして出力されます。

8

map

マップ演算子の場合、プロジェクト関数はソースのObservableの各値に適用され、同じ出力がObservableとして出力されます。

9

mapTo

ソースのObservableが値を発行するたびに、定数値がObservableとともに出力として与えられます。

10

mergeMap

mergeMap演算子の場合、プロジェクト関数が各ソース値に適用され、その出力は出力Observableとマージされます。

11

switchMap

switchMap演算子の場合、プロジェクト関数が各ソース値に適用され、その出力は出力Observableとマージされます。指定された値は、最新の予測されたObservableです。

12

window

オブザーバブルである引数windowboundariesを取り、指定されたwindowboundariesが発行するたびにネストされたオブザーバブルを返します

フィルタリング演算子

以下は、フィルタリング演算子のカテゴリで説明する演算子です。

Sr.No Operator & Description
1

debounce

しばらくしてソースObservableから放出された値。放出は、Observableまたはpromiseとして指定された別の入力によって決定されます。

2

debounceTime

これは、時間が経過した後にのみ、ソースオブザーバブルから値を出力します。

3

distinct

この演算子は、前の値と比較したときに異なるソースオブザーバブルのすべての値を提供します。

4

elementAt

この演算子は、与えられたインデックスに基づいて、ソースオブザーバブルから単一の値を返します。

5

filter

この演算子は、指定された述語関数に基づいて、ソースObservableの値をフィルタリングします。

6

first

この演算子は、ソースのObservableによって発行された最初の値を提供します。

7

last

この演算子は、ソースObservableによって出力された最後の値を提供します。

8

ignoreElements

この演算子は、ソースObservableからのすべての値を無視し、完了またはエラーのコールバック関数への呼び出しのみを実行します。

9

sample

この演算子は、ソースのObservableから最新の値を提供し、出力は、それに渡される引数に依存します。

10

skip

この演算子は、入力として取得されたcount個の項目の最初の発生をスキップするオブザーバブルを返します。

11

throttle

この演算子は、入力関数が引数として決定する時間の間、ソースオブザーバブルからの値を出力するとともに無視し、同じプロセスが繰り返されます。

ユーティリティオペレーター

以下は、ユーティリティオペレーターカテゴリで説明するオペレーターです。

Sr.No Operator & Description
1

tap

この演算子は、ソースオブザーバブルと同じ出力を持ち、オブザーバブルからユーザーに値を記録するために使用できます。 主な値。エラーがある場合、またはタスクが完了した場合。

2

delay

この演算子は、指定されたタイムアウトに基づいて、ソースObservableから出力される値を遅延させます。

3

delayWhen

この演算子は、入力として取得された別のオブザーバブルからのタイムアウトに基づいて、ソースオブザーバブルから出力される値を遅延させます。

4

observeOn

入力スケジューラに基づくこのオペレーターは、ソースObservableからの通知を再送信します。

5

subscribeOn

このオペレーターは、入力として取得されたスケジューラーに基づいて、ソースObservableに非同期サブスクライブするのに役立ちます。

6

timeInterval

このオペレーターは、現在の値と、取得したスケジューラー入力を使用して計算された現在の値と前の値の間の経過時間を含むオブジェクトを返します。

7

timestamp

値が発行された時間を通知するソースObservableから発行された値とともにタイムスタンプを返します。

8

timeout

指定されたタイムアウト後にソースObservableが値を発行しない場合、このオペレーターはエラーをスローします。

9

toArray

Observableからのすべてのソース値を累積し、ソースが完了するとそれらを配列として出力します。

条件付き演算子

以下は、条件演算子のカテゴリで説明する演算子です。

Sr.No Operator & Description
1

defaultIfEmpty

ソースオブザーバブルが空の場合、この演算子はデフォルト値を返します。

2

every

入力関数がソースのObservableの各値の条件を満たす条件を満たすことに基づいて、Observableを返します。

3

find

これは、ソースのObservableの最初の値が、入力として使用された述語関数の条件を満たしたときにオブザーバブルを返します。

4

findIndex

入力スケジューラに基づくこのオペレーターは、ソースObservableからの通知を再送信します。

5

isEmpty

この演算子は、入力オブザーバブルが値を出力せずに完全なコールバックを行う場合は出力をtrueに、入力オブザーバブルが値を出力する場合はfalseとして出力します。

マルチキャストオペレーター

以下は、マルチキャストオペレーターカテゴリで説明するオペレーターです。

Sr.No Operator & Description
1

multicast

マルチキャストオペレータは、作成された単一のサブスクリプションを他のサブスクライバと共有します。 マルチキャストが受け取るパラメータは、件名またはファクトリメソッドであり、connect()メソッドを持つConnectableObservableを返します。 サブスクライブするには、connect()メソッドを呼び出す必要があります。

2

publish

この演算子はConnectableObservableを返し、オブザーバブルをサブスクライブするためにconnect()メソッドを使用する必要があります。

3

publishBehavior

publishBehaviourはBehaviourSubjectを利用し、ConnectableObservableを返します。 作成されたオブザーバブルをサブスクライブするには、connect()メソッドを使用する必要があります。

4

publishLast

publishBehaviourはAsyncSubjectを利用し、ConnectableObservableを返します。 作成されたオブザーバブルをサブスクライブするには、connect()メソッドを使用する必要があります。

5

publishReplay

publishReplayは、動作サブジェクトを利用します。このサブジェクトでは、値をバッファリングし、それを新しいサブスクライバーに再生して、ConnectableObservableを返します。 作成されたオブザーバブルをサブスクライブするには、connect()メソッドを使用する必要があります。

6

share

これはmutlicast()オペレーターのエイリアスですが、サブスクリプションを開始するために手動でconnect()メソッドを呼び出す必要がない点が異なります。

エラー処理演算子

以下は、エラー処理演算子のカテゴリで説明する演算子です。

Sr.No Operator & Description
1

catchError

このオペレーターは、新しいObservableまたはエラーを返すことにより、ソースObservableのエラーをキャッチします。

2

retry

このオペレーターは、エラーが発生した場合にソースObservableで再試行を行い、指定された入力カウントに基づいて再試行が行われます。