无需等待后端返回即可创建和删除前端即时记录

时间:2017-08-29 16:11:38

标签: javascript synchronization

对于待办事项列表应用程序,当用户创建任务时,后端需要返回一个ID以唯一地标识该任务,以便当用户稍后删除该任务时,可以引用正确的任务在后端。

但是如果用户在后端返回标识符之前删除了该任务呢?

我想到的可能不优雅的解决方案:

  1. 阻止用户删除任务,直到后端返回标识符
  2. 在客户端生成标识符(可能带有用户ID +时间戳)
  3. 将创建和删除操作结合在一起,在客户端分配临时ID并使用Promises确保正确删除。 (Redux框架的丑陋解决方案?)

2 个答案:

答案 0 :(得分:0)

A"清洁"可以与Redux一起使用的解决方案可能是在客户端使用生成的标识符。

因此,用户在客户端上生成创建任务ID,之后使用AJAX发送。

答案 1 :(得分:0)

我建议您在从服务器获得响应之前禁用删除按钮。我知道有更多的例子,但我能想到的一个例子是TFS门户网站。创建新的用户素材时,该行会立即添加到网格(顶部)。并且api POST被发送到服务器。如果您立即右键单击该行,您将获得一个带有微调器的弹出菜单。然后,大约一秒钟之后,前端从POST返回响应,弹出菜单中填充了两个项目(添加任务和添加错误)。