天天看點

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方法的調用時機

繼續閱讀