异步接口取消的问题
我有一个列表,展示了一堆item,比如:
aaa
bbb
ccc
...
用户点击某个item,进入到编辑页面,可以改内容(比如把aaa改成aaa123)
点击确定后是一个网络交互。如果在网络返回结果之前,用户退出这个页面,该怎么处理?
什么也不处理,数据其实已经修改成功,但是列表展示没有变化,再次点进编辑页,依然是老数据
修改成功后,列表更新,这里:
2.1. 用户的意图是退出修改页面不关心修改结果是否成功失败,那么就还好,数据更新了就更新了,用户知道自己刚刚修改了。 2.2. 用户的意图是取消这次修改,那就奇怪了,明明取消了,结果还是修改成功了。
在修改中,不允许用户退出,要么成功,要么失败,要么超时……UI才能点,这样感觉很不科学,但是很安全,很一致
最坏的情况是超时,要等很久UI才能交互
我想的另一种方案是,每个请求有个cmdId,对任意请求都有cancel接口,由服务器负责回滚,这样就能真正的取消了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论