0

UIにdojoを使用していますが、ページコンテンツの特定の部分を順番にロードしたいと思います。たとえば、特定の株式について、ティッカー、会社名、主要な統計情報などの株式の一般情報と、過去30日間の始値/終値のグリッドをロードしたいと思います。異なるコンテンツがサーバーから個別にフェッチされます。ここで、最初にグリッドをロードして、ユーザーが何かを確認できるようにします。次に、たとえば、大きなデータセットであるキー統計のロードを開始すると、ロードに時間がかかります。これを行うにはどうすればよいですか。私が試した:dojo.addOnLoad(function(){

startGrid(); //正常に動作するモックグリッド起動関数getKeyStats(); //モックキー統計ゲッター関数も正常に機能します});

しかし、dojoはgetKeyStats()をロードしてから、何らかの理由でここでstartGrid()をロードしているため、ここではシーケンスは重要ではないようです。では、ロードシーケンスを自由に制御するにはどうすればよいですか?前もって感謝します!

デビッド

4

2 に答える 2

1

これらは非同期リクエストであるため、順序は重要ではありません。それらは、サーバーから応答が受信されたのと同じ順序で表示されます。これは、呼び出された順序と必ずしも同じではありません。

それらを正しい順序でロードするには、通常どおりリクエストを行います。応答データを任意の順序で共有バケットに配置する成功応答のコールバックを追加します。適切な数の応答が得られたら (コールバックの最後で確認してください)、好きな順序でページにデータを挿入し始めます。

于 2009-11-20T01:38:42.350 に答える
0

dojo.publishを見て 、pub サブパターンを使用してこれらのイベントを疎結合して、順序付けできるようにすることをお勧めします。Pub sub を使用すると、リクエストを作成し、起動するすべてのトピックをリッスンできます。これにより、リクエストを非同期に呼び出し、ウィジェットをそれぞれの場所にロードして非表示にスタイリングし、pub サブを使用して一連のトピック パブリケーションに基づいてウィジェットを表示することができます。

于 2009-11-21T01:19:37.373 に答える