Rxjs-overview
RxJS-概要
この章では、RxJSの機能、利点、欠点について説明します。 ここでは、RxJSを使用するタイミングについても学習します。
RxJSの完全な形式は、 JavaScript用のReactive Extension です。 これは、オブザーバブルを使用して非同期データ呼び出し、コールバック、およびイベントベースのプログラムを処理するリアクティブプログラミングを処理するJavaScriptライブラリです。 RxJSは、他のJavaScriptライブラリおよびフレームワークで使用できます。 javascriptとtypescriptでサポートされています。
RxJSとは何ですか?
RxJSの公式ウェブサイトによれば、監視可能なシーケンスを使用して非同期およびイベントベースのプログラムを作成するためのライブラリとして定義されています。 コレクションとして非同期イベントを処理できるように、1つのコアタイプ、Observable、サテライトタイプ(Observer、Schedulers、Subjects)、およびArray#extras(map、filter、reduce、everyなど)に触発されたオペレーターを提供します。
RxJSの機能
RxJSでは、次の概念が非同期タスクを処理します-
観測可能
オブザーバブルは、オブザーバーを作成し、値が期待されるソース(クリック、dom要素からのマウスイベント、Httpリクエストなど)にアタッチする関数です。
観察者
これは、next()、error()、complete()メソッドを備えたオブジェクトであり、オブザーバブルとの相互作用があるときに呼び出されます。 ソースは、ボタンクリックの例、HTTPリクエストなどをやり取りします。
購読
オブザーバブルが作成されたら、オブザーバブルを実行するには、それをサブスクライブする必要があります。 実行のキャンセルにも使用できます。
オペレータ
演算子は、オブザーバブルを入力として取り込み、出力もオブザーバブルである純粋な関数です。
件名
サブジェクトは、マルチキャストできるオブザーバブルです。 多くのオブザーバーと話してください。 イベントリスナーのあるボタンを考えてみましょう。ユーザーがボタンをクリックするたびにaddlistenerを使用してイベントに関連付けられた関数が呼び出され、同様の機能が件名にも適用されます。
スケジューラー
スケジューラは、サブスクリプションを開始して通知する必要がある場合の実行を制御します。
いつRxJSを使用するのですか?
プロジェクトがRxJSよりも多くの非同期タスク処理で構成されている場合は、適切な選択です。 Angularプロジェクトでデフォルトでロードされます。
RxJSを使用する利点
以下はRxJSを使用する利点です-
- RxJSは、他のJavaScriptライブラリおよびフレームワークで使用できます。 javascriptとtypescriptでサポートされています。 Angular、ReactJS、Vuejs、nodejsなどの例はほとんどありません。
- RxJSは、非同期タスクの処理に関しては素晴らしいライブラリです。RxJSは、オブザーバブルを使用して、非同期データ呼び出し、コールバック、およびイベントベースのプログラムを処理するリアクティブプログラミングを処理します。
- RxJSは、数学、変換、フィルタリング、ユーティリティ、条件付き、エラー処理、結合カテゴリの演算子の膨大なコレクションを提供しており、リアクティブプログラミングで簡単に使用できます。
RxJSを使用するデメリット
以下はRxJSを使用することの欠点です-
- オブザーバブルでコードをデバッグすることは少し難しいです。
- Observablesの使用を開始すると、observablesの下にラップされた完全なコードになる可能性があります。