モデルのデータをフェッチするときの「成功」コールバックの目的と、「変更」イベントのメソッドにバインドする目的は何ですか?
「成功」コールバック
this.model.fetch({
url: '...'.
success: function(response) {
...
}
});
対モデル「変更」バインディング
this.model.bind("change", this.attributesChanged);
モデルのデータをフェッチするときの「成功」コールバックの目的と、「変更」イベントのメソッドにバインドする目的は何ですか?
「成功」コールバック
this.model.fetch({
url: '...'.
success: function(response) {
...
}
});
対モデル「変更」バインディング
this.model.bind("change", this.attributesChanged);
通常、モデル自体の外部でフェッチを呼び出し、モデルでトリガーされる追加の成功関数コールバックが必要な場合は、フェッチ成功コールバックを使用します。
また、サーバーへの保存に失敗した場合でも「変更」イベントがトリガーされる可能性があるため、CRUD イベントには注意してください。モデルが変更されたときに「変更」がトリガーされることに注意してください。バージョン 0.9.0 以降、この問題に対処するために「同期」イベントが追加されました。これは、モデルの状態がサーバーと正常に同期されるたびにトリガーされます。
その点で「成功」または「エラー」を使用する主な理由は、「変更」はモデルの変更が成功した場合にのみ発生するため、応答に基づいて機能を実行することです。何らかの理由でフェッチが失敗した場合、「変更」は起動しません。コールバックを使用すると、もう少し細かいレベルの制御が可能になります。とはいえ、応答にいつ応答したいかについては、個人的な好みに要約されます。私の考えでは、成功した CRUD 操作に応答して何かを行うことにのみ関心がある場合は、エラーを無視するだけなので、「変更」をリッスンすることは完全に適切であると考えています。