1

我有一堆 UI 元素,为简单起见,我们可以将它们视为 li 元素。

网页的访问者可以插入、删除或重新排序这些 li 元素,并且每次用户执行此操作时,都应保留更新的顺序。在这种情况下,链表将是最好的解决方案,但对于一个问题。

让我们假设两个用户 A 和 B 打开了包含该列表的网页。该列表看起来像这样 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8。

用户 A 将其重新排序为 1 -> 4 -> 3 -> 2 -> 5 -> 6 -> 7 -> 8。通过更新 1、4、3、2 和 5 的引用的 AJAX 调用成功地保留了此更改。

在此调用传输到后端所需的 2-3 秒内,在用户 B 的屏幕上持续并更新 - 用户 B 将其网页上显示的列表更新为 5 -> 2 -> 3 -> 4 -> 1 -> 6 -> 7 -> 8. 生成了错误的 AJAX 调用,它们最终打乱了排序。

希望就如何最好地解决这个问题提出一些建议。

4

1 回答 1

2

有一个在订单更改时更新的 UUID。当他们想要重新排序时将 UUID 发送给客户端,并验证 UUID 在提交时没有更改。如果有,请拒绝重新订购或通知用户并允许他们采取适当的措施。

于 2012-12-02T09:29:30.817 回答