這個ofType來自@ngrx/effects:

注意這個形參的名稱:allowedTypes:
ofType裡面是一個filter操作:
rxjs裡的老朋友:filter操作符
一旦我在UI上輸入一個字元後,通過單步調試搞清楚ofType裡設定的fitler邏輯是如何工作的:
應用程式調用store.dispatch發送一個SearchAction:
store内部有個屬性actionObserver,是一個BehaviorSubject:
Subject (主體): 相當于 EventEmitter,并且是将值或事件多路推送給多個 Observer 的唯一方式。
ActionsSubject->BehaviorSubject->Subject:
subject裡拿到監聽它的observor清單,周遊,逐一通知:
Schedulers (排程器): 用來控制并發并且是中央集權的排程員,允許我們在發生計算時進行協調,例如 setTimeout 或 requestAnimationFrame 或其他。
Scheduler flush action execution:
最終這裡調用到之前通過ofType内部的filter設定的過濾器:
因為filter傳回true,是以繼續執行鍊條的下一個元素:
即debounceTime.js: