Angular Effects.ofType的工作原理
這個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:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的Angular Effects.ofType的工作原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 免费且好玩的API接口(免费素材图片)
- 下一篇: 共轭函数_复共轭函数