我有一个列表,展示了一堆item,比如:
aaa
bbb
ccc
...
用户点击某个item,进入到编辑页面,可以改内容(比如把aaa改成aaa123)
点击确定后是一个网络交互。如果在网络返回结果之前,用户退出这个页面,该怎么处理?
什么也不处理,数据其实已经修改成功,但是列表展示没有变化,再次点进编辑页,依然是老数据
-
修改成功后,列表更新,这里:
2.1. 用户的意图是退出修改页面不关心修改结果是否成功失败,那么就还好,数据更新了就更新了,用户知道自己刚刚修改了。 2.2. 用户的意图是取消这次修改,那就奇怪了,明明取消了,结果还是修改成功了。 -
在修改中,不允许用户退出,要么成功,要么失败,要么超时……UI才能点,这样感觉很不科学,但是很安全,很一致
最坏的情况是超时,要等很久UI才能交互 我想的另一种方案是,每个请求有个cmdId,对任意请求都有cancel接口,由服务器负责回滚,这样就能真正的取消了