天天看點

SAP Spartacus B2B Unit page OrgUnitService.getTree方法傳回的結果

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方法傳回的結果

繼續閱讀