1. ホーム
  2. angularjs

[解決済み] AngularJSで$resourceのキャッシュを更新/無効化する方法

2023-01-26 14:53:15

質問

シンプルなUser $resourceを持っていて、デフォルトの$httpキャッシュの実装を次のように使用しています。

factory('User', function($resource){
    return $resource(endpoint + '/user/current/:projectId', {},
        {get: 
            {
                cache: true,
                method: 'GET'
            }
        }
    );
})

これは非常にうまく動作します。つまり、私のサーバーはアプリケーションの中で一度だけ呼び出され、その後キャッシュから値が取得されるのです。

しかし、私は特定の操作の後にサーバーから値をリフレッシュする必要があります。それを行う簡単な方法はありますか?

ありがとうございます。

どのように解決するのですか?

ブール値を保持したまま $http のキャッシュを取得します。

var $httpDefaultCache = $cacheFactory.get('$http');

で作られた他のキャッシュと同様に制御することができます。 $cacheFactory で作られた他のキャッシュと同様に制御できます。

$httpDefaultCache.remove(key);
// Where key is the relative URL of your resource (eg: /api/user/current/51a9020d91799f1e9b8db12f)