天天看点

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方法返回的结果

继续阅读