2016-03-23 20 views
2

インデントは、AngularJSインターセプタを使用して要求と応答をインターセプトすることによってAPIコールをキャッシュすることです。以下は私の現在のコードです。要求がキャッシュに存在する場合、私は何をすべきか分かりません。これは実現可能ですか?これは正しい方法ですか? (あなたはまだそれを必要とするために起こる場合)あなたがする必要がどのようなAngularJSインターセプタを使用したキャッシュAPIコール

app.factory('apiCacheMiddleware', apiCacheMiddleware); 

function apiCacheMiddleware($cacheFactory) { 
    var cache = $cacheFactory('apiCache'); 
    var interceptor = { 
     request: function(config) { 
      console.log(config) 
      if(config.method === 'GET' && cache.get(config.url)){ 
       // What to return from here??? 
      } 
      return config; 
     }, 
     response: function(response) { 
      console.log(response); 
      if(response.config.method === 'GET'){ 
       cache.put(response.config.url, response.data); 
      } 
      return response; 
     } 
    }; 
    return interceptor; 
}; 
+0

私はあなたと同じステージにいます... – DanielM

答えて

0

は、要求(config.cache = cache;にあなたが$cacheFactoryで作成されたキャッシュを割り当てることである - おそらく、以前の値をチェックして、いくつかの決断を下すために有用であろうその上に)。その応答では、すでに行っているようにそのキャッシュに記入し、AngularJSは残りの処理を行います。

関連する問題