1

保存パターンとして自動保存を使用する Web アプリを開発しています。その機能に伴い、まったく予想外の UI の問題が発生しました。

概念に対するユーザーの理解を深めるために、ドキュメントが保存されるたびに視覚的なフィードバックを定期的に行うのではなく、自動保存を瞬時に行いたいと考えました。

一時的なデータ キャッシュとしてローカル ストレージを使用することを検討し、バックグラウンドですべてのユーザー データを Web サーバーと同期する間隔を遅く設定しました。これは、考えられるリビジョンの競合シナリオに対処するときに、いくつかの悪い副作用をもたらす可能性があります。

自動保存パターンやローカル ストレージをデータ プロキシとして使用した経験があり、貴重な情報を共有できる人はいますか

4

1 に答える 1

0

私は、すべてのユーザー編集アクション(またはキープレスなど)の後に瞬時に意味すると思いますか?ここにあるデータによって異なります。テキストドキュメントしかない場合、サーバーと直接対話しない理由はわかりませんが、たとえば次のようにスリープ時間を追加します。

ユーザーが何かを編集した場合は、スイッチを edit = true に設定します。最後のコミットが 10 秒以上前の場合は、現在の状態をコミットします (ドキュメントは今回変更された可能性があります。現在の状態を使用します)。最後のコミット スイッチを現在の時刻に設定します。

ローカル バッファは非常に複雑で、おそらく便利というよりも多くの苦痛をもたらすと思います。

ただし、一般的な方法として、バッファーをより高い頻度で満たし (ただし、上記の方法を使用)、サーバーに送信する頻度を低くする (上記の方法も使用) ことを決定した場合。タイムスタンプ/インクリメント ID は、最初のバッファから 2 番目のバッファ、3 番目のバッファなどに渡されます。すべてのバッファからコンテンツを復元するとき、またはストレージ サーバーがフェッチされ、最新バージョン (最初のバッファからのインクリメント ID を持つ) が使用されるときです。

于 2010-12-01T20:15:08.940 に答える