第二章练习答案
缓存键必须包含账号身份,例如 user:${accountId},登出或切换账号时清除旧键并取消未完成请求。更新成功后,详情缓存可以直接写入新资料,列表缓存则应按实际查询键更新或失效重取,不能只刷新当前组件。
哪些状态可以保存
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
先决定谁拥有状态
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
只接受仍然有效的结果
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。
缓存不是全局真相
答案必须保留本节输入、操作和可观察结果。先运行成功路径,再运行一个反例;
text
输入:第一次执行 → 改变一个条件 → 取消或卸载
预期:状态转移与正文规则一致;取消后没有迟到写入;失败保留可诊断原因若结果不同,优先检查资源所有权、执行时机和宿主前提,而不是只改最终 UI。