异步接口取消的问题

发布于 2022-09-04 10:43:09 字数 570 浏览 21 评论 0

我有一个列表,展示了一堆item,比如:
aaa
bbb
ccc
...

用户点击某个item,进入到编辑页面,可以改内容(比如把aaa改成aaa123)
点击确定后是一个网络交互。如果在网络返回结果之前,用户退出这个页面,该怎么处理?

  1. 什么也不处理,数据其实已经修改成功,但是列表展示没有变化,再次点进编辑页,依然是老数据

  2. 修改成功后,列表更新,这里:

    2.1. 用户的意图是退出修改页面不关心修改结果是否成功失败,那么就还好,数据更新了就更新了,用户知道自己刚刚修改了。
    2.2. 用户的意图是取消这次修改,那就奇怪了,明明取消了,结果还是修改成功了。
    
  3. 在修改中,不允许用户退出,要么成功,要么失败,要么超时……UI才能点,这样感觉很不科学,但是很安全,很一致

    最坏的情况是超时,要等很久UI才能交互
    
  4. 我想的另一种方案是,每个请求有个cmdId,对任意请求都有cancel接口,由服务器负责回滚,这样就能真正的取消了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文