為什麼 this.componentService.getItems 最後就觸發到
Component-data.provider.ts 工廠函數的執行了?
29行的 getService:
getService 的實作在第 70 行,又會調用到第 79 行的 getContext:
這裡的 componentData,就和之前這篇文章如何在 SAP 電商雲 Spartacus UI 裡通路 CMS Component data 資料介紹的内容串聯起來了。
輸入參數:
首先明确,為什麼 defer 裡的工廠函數會被執行?一定是因為 defer 傳回的 Observable 在某處被 subscribe 了。
getItems -> getService -> getContext -> this.componentData.data$
因為 getItems 被 async pipe 執行,是以 this.componentData.data$ 被 subscribe.
更多Jerry的原創文章,盡在:“汪子熙”: