SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 隻有到loading為false,success為false,error為false時,才調用208行的this.loadTree加載資料:
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 發送一個OrgUnitActions.LoadTree的action,觸發底層的Effect,調用HTTP讀取資料:
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 第一次觸發filter operator, Org Unit資料加載的狀态仍然為success:false
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 是以filter執行結束後,就不繼續往下執行了。
再一次觸發,loading标志位變成了true:
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 第三次觸發,success終于變成了true,此時觸發Observable stream chain上的下一個operators:
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 即result.value. 注意,此時從OCC API傳回的response,unit資料已經是亂序的了,背景沒有排過序。
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果 getTree最終的傳回結果:
SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果