且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SAP 电商云 Spartacus UI 的 proxy facade 是如何调用实际实现类

更新时间:2022-06-12 09:38:34

下列代码第 126 行,通过来自 Angular/core 的 Injector,手动注入一个 QuickOrderFacade 的实例:



SAP 电商云 Spartacus UI 的 proxy facade 是如何调用实际实现类

调用这个 facade 的 get 方法,在执行实际被代理类的业务逻辑之前,需要先延迟加载包含该业务类实现的 core module:

SAP 电商云 Spartacus UI 的 proxy facade 是如何调用实际实现类



只有当类型为 Observable 的方法才会被处理:


SAP 电商云 Spartacus UI 的 proxy facade 是如何调用实际实现类


这里我们调用 Rxjs 标准的 ConnectableObservable 的 connect 方法,触发第 73 行 pipe 传递进去的 Operator 的执行:


SAP 电商云 Spartacus UI 的 proxy facade 是如何调用实际实现类


这里就开始调用具体的实现类 QuickOrderService 的 getEntries 方法了: