0

$httpProvider.defaults.cacheアプリケーションの構成ブロックで設定するにはどうすればよいですか? 私が試したときはいつでも、「ReferenceError: $cacheFactory is not defined」というエラーを受け取りました。

だから今、私はこれを行うための代替方法を見つけようとしています.

したがって、これを達成するための回避策を教えてください。

4

1 に答える 1

1

$http cachingに関するこのセクションを読むと、次のように書かれています。

プロパティを更新することで、デフォルトのキャッシュを新しいオブジェクト ($cacheFactory で作成) に変更でき$http.defaults.cacheます。キャッシュ プロパティを true に設定したすべてのリクエストは、このキャッシュ オブジェクトを使用します。

$httpの代わりにそれを行う方法に注意してください$httpProvider。秘訣は、デフォルトのキャッシュを構成ではなく、実行ブロックまたは作成した他のサービス/ファクトリに設定することです。例えば:

app.run(function($http, $cacheFactory){
    $http.defaults.cache = $cacheFactory('myCache', { capacity: 50 });
});

ドキュメントをもう一度読んだ後、私はもともとそれらを読み違えていたことに気付きました。デフォルトのドキュメントを注意深く読むと、次のようになります。

defaults.cache - {Object} - $cacheFactory で構築されたオブジェクト

これは書き方が悪いですが、$cacheFactory. 例えば:

$httpProvider.defaults.cache = { /* your cache config here */ };

プロバイダーは$cacheFactory、明示的に呼び出すのではなく、舞台裏で利用すると思います。

于 2015-09-13T01:31:43.923 に答える