1

UI 要素がたくさんありますが、簡単にするためにそれらを li 要素と見なすことができます。

Web ページへの訪問者は、これらの li 要素を挿入、削除、または並べ替えることができ、ユーザーがそれを行うたびに、更新された順序が保持される必要があります。この場合、リンクされたリストが最適なソリューションですが、1 つの問題があります。

2 人のユーザー A と B が、リストを含む Web ページを開いているとします。リストは 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 は、自分の Web ページに表示されるリストを 5 -> 2 -> 3 -> 4 -> に更新します。 1 -> 6 -> 7 -> 8. 間違った AJAX 呼び出しが生成され、最終的に順序が乱れます。

この問題を解決する最善の方法について、いくつかの提案をいただければ幸いです。

4

1 に答える 1

2

順序が変更されるたびに更新されるUUIDを用意します。クライアントが再注文するときにUUIDをクライアントに送信し、送信時にUUIDが変更されていないことを確認します。含まれている場合は、再注文を拒否するか、ユーザーに通知して適切なアクションを実行できるようにします。

于 2012-12-02T09:29:30.817 に答える