Skip to content

第三章练习答案 ​

保存 previous 和本次操作的 operationId,成功只确认当前操作,失败只回滚仍由该操作负责的状态。按钮在请求中禁用或合并重复操作;服务端使用幂等键,客户端超时后显示未知状态并允许重新查询,而不是盲目判定失败。

哪些状态可以保存 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

先决定谁拥有状态 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

只接受仍然有效的结果 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

缓存不是全局真相 ​

答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;

text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因

若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。

用心记录每一步成长