使用自定義 HTTP Interceptor 記錄 SAP Spartacus 發送的 OCC API 以及響應

最後的效果:

請求的方法類型和 url 都被記錄了下來,同響應一起。

設置斷點來觀察自定義 HTTP interceptor 運行時原理:

我們自定義的 intercept 也是通過依賴注入的方式被注入到 httpInterceptor 的調度器裏。

首先把 method 和 urlWithParams 從 request 裏提取出來:

返回的 Observable pipe 方法裏的 switchMap 裏的處理函數,什麼時候會被觸發?

在響應式編程的世界裏,不要太在意 switchMap 裏指定的函數體是何時被調用的——充斥的全是 rxjs 的回調。

只需要注意 switchMap 裏必須返回一個 Observable wrapper 對象。

再看這個 custom interceptor 什麼時候被實例化的?


首先把系統所有的 HTTP_INTERCEPTORS 注入的實現都取出來,放到數組裏,然後使用數組的 reduceRight 方法,逐一調用之。

我們自定義的 Custom HTTP Interceptor 赫然在數組裏,所以可以被調用到:


更多Jerry的原創文章,盡在:"汪子熙":


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章