RxJS - 概述



本章介紹了有關 RxJS 的功能、優點和缺點的資訊。在這裡,我們還將學習何時使用 RxJS。

RxJS 的全稱是Reactive Extension for Javascript。它是一個 JavaScript 庫,使用 Observables 來處理響應式程式設計,該程式設計處理非同步資料呼叫、回撥和基於事件的程式。RxJS 可以與其他 JavaScript 庫和框架一起使用。它受 JavaScript 支援,也受 TypeScript 支援。

什麼是 RxJS?

根據 RxJS 的官方網站,它被定義為一個用於透過使用可觀察序列來組合非同步和基於事件的程式的庫。它提供了一種核心型別 Observable、衛星型別(Observer、Schedulers、Subjects)以及受 Array#extras(map、filter、reduce、every 等)啟發的運算子,以允許將非同步事件作為集合進行處理。

RxJS 的特性

在 RxJS 中,以下概念負責處理非同步任務:

Observable

Observable 是一個函式,它建立一個 Observer 並將其附加到預期值來源的地方,例如,來自 DOM 元素的點選、滑鼠事件或 HTTP 請求等。

Observer

它是一個具有 next()、error() 和 complete() 方法的物件,當與 Observable 互動時(例如,源互動,例如按鈕點選、HTTP 請求等)將被呼叫。

Subscription

建立 Observable 後,要執行 Observable,我們需要訂閱它。它還可以用於取消執行。

運算子

運算子是一個純函式,它接收 Observable 作為輸入,輸出也是一個 Observable。

主題 (Subject)

主題是一個可以多播(即與多個 Observer 通訊)的 Observable。考慮一個帶有事件偵聽器的按鈕,使用 addListener 附加到事件的函式在使用者每次點選按鈕時都會被呼叫,主題也具有類似的功能。

排程器 (Schedulers)

排程器控制訂閱何時開始和通知的執行。

何時使用 RxJS?

如果您的專案包含大量非同步任務處理,那麼 RxJS 是一個不錯的選擇。它預設情況下隨 Angular 專案一起載入。

使用 RxJS 的優點

以下是使用 RxJS 的優點:

  • RxJS 可以與其他 JavaScript 庫和框架一起使用。它受 JavaScript 支援,也受 TypeScript 支援。一些示例包括 Angular、ReactJS、Vuejs、nodejs 等。

  • 在處理非同步任務方面,RxJS 是一個很棒的庫。RxJS 使用 Observables 來處理響應式程式設計,該程式設計處理非同步資料呼叫、回撥和基於事件的程式。

  • RxJS 提供了大量運算子,涵蓋數學、轉換、過濾、實用程式、條件、錯誤處理、連線等類別,在與響應式程式設計一起使用時可以簡化工作。

使用 RxJS 的缺點

以下是使用 RxJS 的缺點:

  • 使用 Observables 除錯程式碼有點困難。

  • 隨著您開始使用 Observables,您最終可能會將整個程式碼包裹在 Observables 中。

廣告

© . All rights reserved.