天天看点

SAP Spartacus UserService.get方法的调用时机

在cart-page-layout-handler.ts:

selective-cart.service.ts:

SAP Spartacus UserService.get方法的调用时机

上图48行this.userService.get()返回一个Observable:

SAP Spartacus UserService.get方法的调用时机

在不远处调用的subscribe方法,启动Observable的执行:

SAP Spartacus UserService.get方法的调用时机
SAP Spartacus UserService.get方法的调用时机

此时取出的user details是空的,所以会触发load调用:

SAP Spartacus UserService.get方法的调用时机
SAP Spartacus UserService.get方法的调用时机
SAP Spartacus UserService.get方法的调用时机
SAP Spartacus UserService.get方法的调用时机

这个behaviorSubject里的_value: current, 何时被填充的?

SAP Spartacus UserService.get方法的调用时机

BehaviorSubject->Subject->Observable

这里是显式调用subscribe,将current传到第54行的cb的id参数里:

SAP Spartacus UserService.get方法的调用时机

根据user id=current加载明细:

SAP Spartacus UserService.get方法的调用时机
SAP Spartacus UserService.get方法的调用时机
SAP Spartacus UserService.get方法的调用时机

继续阅读