3

不要なネットワーク トラフィックとサーバー トリップを制限する必要があります。解決策: 常識的なキャッシング。(太陽の下ですべてをキャッシュするつもりはありません)。

しかし、Caching Filesのドキュメントを読み、いくつかの簡単な例を実装した後、ajax json の結果をキャッシュするのに最適な時期はいつでしょうか? ビューが表示されるたびに、通常のキャッシュ/キャッシュなしチェックを実行できます。しかし、アプリケーションの初期起動時に非同期ロードを実行して、ユーザーが必要とすることがわかっているリモート データをプリフェッチする方法はありますか? connectionStateChangedイベントを使用する唯一の方法 (または最も近い方法) ですか? スプラッシュ スクリーンに「フック」する方法はありますか (はい、Apple が主に遷移のためにスプラッシュ スクリーンを望んでいることは知っています)。window.onload?

4

1 に答える 1

1

それで、私があなたを正しく理解しているなら、あなたはアプリが起動するたびに一度リモートリソースを非同期的にフェッチし、それらのデータをキャッシュする方法を探していますか?

私たちのリクエストモジュールは本質的に非同期であるため、単にforge.request.ajax立ち寄ってAjax応答のフェッチを開始し、それを設定モジュールに保存することができます。

実際にはおそらく同じですが、setTimeoutでラップして、さらに非同期にすることもできます。

setTimeout(function ()
  forge.request.ajax({
    url: 'http://example.com/method.json',
    success: function (data) {
      forge.prefs.set("method.json-cache", data);
    }
  });
}, 10);
于 2012-06-12T14:05:57.590 に答える