ENGINEERING NOTE 47 / 50 · CARD

防止迟到响应覆盖支付进度

OPEN RAMBO ·

较早但较慢的请求可能最后到达。渲染状态需要版本,避免待处理覆盖已确认。

本文由 OPEN RAMBO 发布。工程方案和伪代码用于说明设计,不是现有产品 API 文档;示例数字均为演示。

使用权威版本

操作状态附单调版本或明确排序标记。客户端请求序号可处理本地竞争,却不能证明跨标签设备的全局业务顺序。

按钮关联操作

原操作未解决时禁止重复提交,但提供刷新状态。刷新页面恢复原引用,不把组件重挂载当作再次充卡许可。

处理状态矛盾

两个权威响应矛盾且无法比较版本时,显示核对中并查询规范操作。不能按浏览器最后到达的响应决定资金结果。

示意流程

if incoming.version >= current.version:
    current = incoming
else:
    ignore_stale_response(incoming)

如何验收

延迟待处理响应到确认后,再刷新页面。完成操作应可识别且不再次提交。

继续阅读