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