SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作 所有資料結構都在this.store.source._value裡:
SAP Spartacus AuthService.getUserToken的實作 return一個();裡面包了一個函數:
SAP Spartacus AuthService.getUserToken的實作 getUserToken是一個memoized函數,傳入select,傳回一個selectorOperator,再傳入pipe:
SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作 pipeFromArray, 如果輸入參數隻有一個元素,則直接傳回它。
SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作 source$指向store,從source裡執行map操作,map的邏輯就是pathOrMapFn:
SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作 MapOperator内部,_next的執行邏輯,就是針對輸入的value, 調用project函數:
SAP Spartacus AuthService.getUserToken的實作 next:調用pathOrMapFn:
SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作 建立名為siteContext的Feature Selector:
SAP Spartacus AuthService.getUserToken的實作 createFeatureSelector:
SAP Spartacus AuthService.getUserToken的實作 args此刻就為siteContext state的内容:
SAP Spartacus AuthService.getUserToken的實作 整段代碼的語義:執行map和箭頭函數fn,結果賦給args, 再執行memoizedProjector.memoized函數,此時args就是輸入參數。
SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作
SAP Spartacus AuthService.getUserToken的實作