1

リストとテーブルにサーバーデータを入力する ajax リクエストを作成するために使用するプライベート goog.net.XhrManager を持つコンポーネントがあります。

また、読み込みインジケーターと CSS をすべて表示および非表示にするように設定された div もあります。

現在、XhrManager で一連の呼び出しを実行しており、XhrManager の send メソッドに渡されたイベント ID を使用して、COMPLETE コールバックで何をすべきかを識別しています。ただし、READY コールバックと [SUCCESS, ERROR] コールバックでは、読み込みインジケーターをそれぞれ表示および非表示にする呼び出しの順序が任意になる可能性があるため、インジケーターをきれいにオンまたはオフにするのに苦労しています。

別のコールバックのセットまたは使用すべき別の手法があるかどうか疑問に思っています。たとえば、次の矢印をクリックしてメールの次のページを読み込んでいるだけでなく、コンテキストサイドバー情報、広告などを読み込んでいる場合、g-mail はどのようにこれを行いますか?

4

1 に答える 1

1

保留中の各リクエストに対して参照カウントを使用して、インジケーターを設定/設定解除できます。別のオプションは、 goog.async.DeferredList.awaitDeferred(otherDeferred) を使用してすべての結果を蓄積し、同期させることです。これを達成するために最後の方法を使用しています。これがあなたを正しい方向に導くことを願っています。

よろしく、

レネ

于 2012-09-22T11:34:29.413 に答える