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的实现