0

Facebook の / Google プラス未読通知インジケーターと同様に、ステータスがアプリで保留中のアイテムのさまざまなセクションの視覚的なインジケーターを実装したいと思います...表示されるカウントをフェッチする API を作成しましたが、アイテムが追加または削除されるたびに更新することに行き詰まっているので、満足できない2つのアプローチが考えられます。

  • POST最初の 1 つは、またはDELETE操作が実行されるたびにカウントに関連する API 呼び出しを行うことです。
  • 2つ目は、しばらくしてからページを更新することです...

    サーバー側からこれを行うには、もっと良い方法があるはずです。そうするための提案や宝石はありますか?

  • 4

    1 に答える 1

    1

    Gmail でさえ、クライアントの要求に応じて更新されます。サーバーは新しいアイテムの量を計算し、クライアントはリクエストを開始します (おそらく AJAX を使用)。これに必要なデータ量と処理時間はほとんどないため、おそらく問題なく処理できます。さまざまなキャッシュジェムは、最後のリクエスト以降にデータが変更されていない場合に更新されたページの一部を保存することもできます。これにより、何かが変更された場合にのみ計算するという問題も解決されます。

    アップデート:

    この問題は、基本的にサーバー側のプッシュとクライアント側のクエリの 2 つの方法で解決できます。プッシュは、さまざまな理由で問題があり、少なくとも私の知る限り、Web 環境ではめったに使用されません。ほとんどのページ (すべてではないにしても) は、時限クエリを使用してそのような情報を更新します。firefox の firebug などの適切なツールで確認できます。サーバーに対して開始された個々のリクエストを確認できます。

    AJAX を介してリクエストを送信すると、サーバーから応答が返されます。通常、古いコンテンツを新しいコンテンツに置き換えるためにページ フラグメントが生成されますが、何らかのキャッシュ メカニズムが介入する可能性があり、何も変更されていない場合は、以前に保存されたキャッシュ フラグメントを取得できます。さまざまな宝石については、こちらのチュートリアルを参照してください。そのうちの1つがニーズに合う場合があります。

    完全なソリューションを希望する場合は、Faye (チュートリアルはこちら) を確認してください。私はそれを使用していませんが、試してみる価値があるかもしれません。

    于 2012-11-09T14:32:21.667 に答える