1

AngularJS のドキュメントによると、$resource サービスはキャッシングもサポートするようになりました。

cache – {boolean|Cache} – true の場合、GET リクエストをキャッシュするためにデフォルトの $http キャッシュが使用されます。それ以外の場合、$cacheFactory で構築されたキャッシュ インスタンスの場合、このキャッシュがキャッシュに使用されます。

したがって、$resource は次のように記述できます。

app.factory('myResourceWithCache', function($resource, $cacheFactory) {
    var myCache = $cacheFactory('MyCache');
    return $resource(apiBaseUrl + '/myservice/:id', {id: '@id'}, {
        'get': { method:'GET', cache: myCache },
        'query': { method:'GET', cache: myCache , isArray:true }
    });
});

私が知りたいのは、次のことです。

  1. キャッシュ内のキーの名前は何になりますか? $http キャッシュの場合、key は service/api のパスですが、カスタム キャッシュを使用する場合も同じになりますか?
  2. カスタム キャッシュ (ここでは myCache) に独自にキー名を指定する方法はありますか

AngularJS のドキュメントと他のスタック オーバーフロー スレッドを試しましたが、これに対する答えが見つかりませんでした。助けてください。

4

1 に答える 1

0

この 1 年前の質問に対する回答がまだ必要かどうかわかりません。

Angular Documentation $http - キャッシング セクションでカスタム キーについて言及されていません

$http ライブラリから、カスタム キャッシュまたはデフォルト キャッシュのいずれかがこの行を使用して、要求 URL であるキャッシュを「配置」します。

あなたの質問に答えてください:

  1. リクエスト URL。はい、カスタムキャッシュも同様です
  2. いいえ(少なくとも今までは)
于 2017-02-03T02:26:16.563 に答える