SAP Spartacus 成功读取 Cart 之后,如何将 payload 插入全局 state
SAP 如何 读取 成功 插入 全局 之后 Spartacus
2023-09-14 09:02:53 时间
简而言之:通过 cart reducer 配合 ngrx-store.js 框架代码。
搜索关键字 LoadCartSuccess:
运行时断点触发:
上下文:cartConnector 的回调里。
根据关键字 LOAD_CART_SUCCESS 继续搜索:
我们明确一点:action 在 reducer 里进行状态迁移。
根据这个关键字,很快就搜索到了 LOAD_CART_SUCCESS 所在的状态迁移:
可以看到,http.js 上下文里,调用 observer 的 next 方法,将从 Commerce Cloud 后台返回的 API response,通知其他观察者。
body 字段里才是真正的 payload:
这里使用 .body, 将 payload 解析出来:
在这段代码里,进行 conversion:
此处触发 Spartacus team 开发的 mergeMap callback:把 HTTP.js 返回的 response,包装成 LoadCartSuccess 的强类型 payload:
包装完之后的强类型 response:
最后 Spartacus cart reducer 被调用:
reducer 执行完毕后,我们就能在 ngrx-store.js 的 combination 函数里的变量 nextState, 看到最新的 cart memory value:
更多Jerry的原创文章,尽在:“汪子熙”:
相关文章
- 如何在 SAP Spartacus 中编写 ASM-Compatible 的代码
- 关于 SAP UI5 控件的 Densities 话题讨论
- SAP UI5 应用中的 sap.ui.require.toUrl 使用场景
- 关于 SAP UI5 所有控件的共同祖先 - sap.ui.base.ManagedObject
- SAP Table function 执行报错 code CX_SQL_EXCEPTION feature not supported 该如何分析
- SAP UI5 sap.ui.export.Spreadsheet API 介绍
- SAP UI5 sap.ui.Device.media.RANGESETS.SAP_STANDARD_EXTENDED 介绍
- 如何使用 SAP UI5 V2 ODataModel 创建数据
- 如何更详细查看SAP 系统版本信息
- SAP Java Connector 正常运行所需的网络配置
- 如何确认 SAP Spartacus SSR Transfer State 已经正常工作了
- SAP ABAP 如何为某个用户创建指定的激活变体(Activation Variant)
- SAP UI5 Fiori 应用在启动时向 ABAP 后台发起的 OData 请求序列的顺序和作用分析
- sap.m.Table 和 sap. ui.table.Table 两个控件的功能对比
- SAP UI5 sap.m.Table Manual Pop-In Mode 概述
- SAP UI5 本地开发如何实现 XML 和 JavaScript 代码的自动完成和嵌入式 API 文档自动显示试读版
- SAP SD初阶系列之销售订单上的Ship-to Party如何抓取?
- 安装SAP,Linux获台前瞻未来(linux安装sap)
- SAP横向纵向打印详解编程语言
- 如何在SAP系统中发布用户通知-SM02详解编程语言
- SAP PI Proxy2File详解编程语言
- SAP 收货时,根据信息记录中的价格段来控制收货价格详解编程语言
- SAP MM批次管理(3)批次级别–大海详解编程语言
- Oracle 与 SAP深度对比分析(oracle sap对比)