打通 RxJS 任督二脈

分類 (共 35 篇文章)

[RxJS] 如何替 RxJS 撰寫測試 - 一般測試與彈珠圖測試方法|

今天我們來聊聊如何撰寫測試程式來確保寫出來的 RxJS 如我們所想的一般運作,也就是撰寫測試程式碼!撰寫測試程式是軟體開發中非常重要的一環,雖然不是所有程式碼都一定要有對應的測試程式,但良好的測試程式卻可以幫助我們撰寫住更加穩固的程式碼。

至於到底該怎麼測試 RxJS?撰寫 RxJS 測試程式時又有什麼需要注意的呢?就讓我們繼續看下去吧!

繼續閱讀
[RxJS] 認識 Scheduler|

今天我們來認識一下 RxJS 的 Scheduler,雖然在一般使用 RxJS 開發應用程式時幾乎不會用到 Scheduler,但 Scheduler 可以說是控制 RxJS 至關重要的角色,偶爾也有可能會需要使用 Scheduler 來調整事件發生時機!

到底什麼是 Scheduler?就讓我們繼續看下去吧!

繼續閱讀
[RxJS] 如何設計自己的 RxJS Operators|

今天我們來聊點輕鬆(?)的主題 - 「如何設計出自己的 RxJS Operators」吧!

繼續閱讀
[RxJS] 實戰練習 - 使用 RxJS 實作 Flux Pattern|

使用 React 作為前端架構的朋友對於 Flux 應該都不陌生,React 也內建了 Flux 讓我們可以直接使用,同時也有許多其他的 library 以這個架構為基礎設計,並應用在各種前端框架下,如 Redux (for React)、NgRx (for Angular) 和 Vuex (for Vue) 等等。可以見得它是多麽重要的東西,今天我們來嘗試實際使用 RxJS 來實作一下這種架構,也藉此多認識一下 Flux Pattern 的重要觀念。

繼續閱讀
[RxJS] 實戰練習 - 自動完成 / 搜尋 / 排序 / 分頁|

今天我們用實際的例子來練習各種 RxJS operators 的組合運用!在一般的應用程式裡面,資料查詢應該算是非常常見的情境了,我們就實際使用資料查詢的功能做範例,加上各種變化,來練習一些 operators 的實際使用吧!

繼續閱讀
[RxJS] Multicast 類 Operator (1) - multicast / publish / refCount / share / shareReplay|

還記得之前我們介紹過 Cold Observable v.s. Hot Observable 嗎?

Cold Observable 和觀察者 (Observer) 是一對一的關係,也就是每次產生訂閱時,都會是一個全新的資料流。而 Hot Observable 和觀察者則是一對多的關係,也就是每次產生訂閱時,都會使用「同一份資料流」,而今天要介紹的 operators 目的就是將 Cold Observable 轉成 Hot Observable,讓原來的資料流可以共用。

今天的觀念會比較複雜一點,打起精神繼續看下去吧!

繼續閱讀
[RxJS] 錯誤處理 Operators (1) - catchError / finalize / retry / retryWhen|

今天來介紹一些跟「錯誤處理」有關的 operators。在使用 RxJS 時,資料流是透過 pipe 及各式各樣的 operators 在處理,且很多時候是非同步的,因此大多時候發生錯誤並不能單純的使用 try...catch 方式處理,就需要透過這些錯誤處理相關的 operators 來幫忙囉!

繼續閱讀
[RxJS] 工具類型 Operators (1) - tap / toArray / delay / delayWhen|

今天要介紹的是「工具類型」的 Operators,也都不太困難,很好理解,繼續輕鬆學習吧!

繼續閱讀
[RxJS] 數學/聚合類型 Operators (1) - min / max / count / reduce|

今天要介紹「數學/聚合類型」的 operators,這些 operators 會把來源 Observable 當作一個單純的資料列,取得一些基本的資訊,也可以自訂如何判斷資訊;這些 operators 都非常直覺好懂,就讓我們輕鬆來學習吧!

繼續閱讀
[RxJS] 條件/布林類型 Operators (1) - isEmpty / defaultIfEmpty / find / finxIndex / every|

今天介紹「條件/布林類型」的 operators,這類型的 operators 都是用來判斷整個 Observable 是否符合某些條件來當作新的 Observable 事件資料。

繼續閱讀