3

複数のユーザーが同じデータを操作する場合にアプリケーションが長期間にわたって使用されることになっている場合、1 人のユーザーが自分のローカル キャッシュに持っているものがもはや存在しない可能性があります。

たとえば、ユーザーは投稿の下にネストされたデータとして読み込まれるコメント付きの投稿を表示する場合があります。これは、彼が で始まるリクエストを 1 つだけ実行することを意味しますGET /posts/1が、その後、投稿は常にキャッシュから読み込まれます。

しかし、別のユーザーがコメントを投稿したとしても、ページ全体をリロードして ID マップをリセットしない限り、それを見つけることはできません。

しばらくしてからデータを失効させ、たとえば 5 分ごとに強制的に再読み込みさせる方法はありますか? または、この問題を解決するために検討すべき別の方法はありますか?

編集:これまでのところ、これを行う方法は実際にはありません。プルリクエストを作成し、作業を続け、完了したらここに回答として投稿します。

4

2 に答える 2

0

setInterval(ドキュメント) を使用して再読み込みします。おそらく、ルーターでこれを設定できます。ルーターに入ったら、5 分ごとにモデルをリロードする間隔を設定します (おそらく特定の状態にある場合のみ)。ルートを終了したら、間隔を空けます。

于 2012-12-24T15:00:43.700 に答える
0

Websocket を使用すると、より良い解決策になります。残念ながら、Ember-data 用の既存の websockets アダプターはまだありません。

于 2012-12-23T08:33:58.090 に答える