所以这个问题今天突然浮现在我的脑海。我正在使用Angular开发SPA,并且正在开发此日历模块(例如Google日历),用户可以在其中添加,编辑和删除事件。
我想知道您对采取行动后不等待服务器的看法。例如,如果用户决定添加新事件,则在他提交表单时,就会向服务器发送HTTP请求,以将该事件添加到数据库并返回响应。最初,我订阅服务器响应,并且成功接收到该响应后,便用新事件更新了UI。但是后来我更改了代码,以便在用户提交新事件后,首先在客户端和UI中对其进行更新,然后才将请求发送到服务器。
这显然具有以下风险:如果由于某种原因服务器中发生了某些问题,向用户提供警告并在添加事件后再次删除其事件可能会令人沮丧。但是出问题的机会极小。如果立即在客户端上完成更新,则用户会更快地收到反馈,从而使应用程序更加无缝和快速使用。
我实际上去了浏览器并打开了Google日历,发现它们做的完全相同。对事件执行的任何操作都会得到即时反馈,页面底部会弹出一个小窗口,显示“正在保存...”大约半秒钟,然后显示“已保存事件!”。你们对此有何看法?每种方法的利弊是什么?