TODO リスト Web アプリを作成していますが、リストの内容を保存する方法について質問があります。ワープロと同じように、ユーザーが保存中にデータを変更できるようにしたいと考えています。
ブール変数を使用して、ユーザーによって何かが変更されたことを示すことができます。何かが変更された場合は TRUE、それ以外の場合は FALSE。おそらく、このフラグは、一部のデータが保存されていないことをユーザーに示すためにも使用されます。ユーザーが Ctrl+S を押してデータを保存すると、アプリが関数を呼び出し、リスト内の現在のデータが取得され、データベースへの保存が開始されます。最後に、変数は false に変更されます。これは単純に思えますが、このアプローチには明らかな落とし穴があります。例えば。
- ユーザーがデータを変更します。ブール変数は TRUE になります。
- ユーザーが Ctrl+S を押します。
- 関数が呼び出され、現在のデータを取得して保存を開始します。
- ユーザーは、保存中にさらにデータを変更します。
- 関数は保存を終了し、変数を FALSE に設定します。
手順 4 で保存されていないデータがある場合でも、結果としてフラグが FALSE に設定されていることは簡単にわかります。ワード プロセッサ/テキスト エディタはこれをどのように処理しますか? 保存中に入力を無効にするだけですが、表示されないほど速いですか??