2016-03-23 33 views
2

AngularJS önleyiciyi kullanarak istek ve yanıtı kesiştirerek API çağrılarını önbelleğe almanız gerekir. Aşağıda mevcut kodum var. İstek önbellekte mevcutsa ne yapacağımı bilmiyorum. Bu uygun mu? Bunu yapmanın doğru yolu bu mu? (Sizin için hâlâ gerekli olur ise) yapmanız gerekenlerAngularJS interceptor kullanarak önbellek API çağrıları

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

Sizinle aynı aşamadayım ... – DanielM

cevap

0

istek (config.cache = cache; Sizin $cacheFactory ile oluşturulan önbelleği atamaktır - muhtemelen önceki değerini kontrol ve bazı karar almak faydalı olacaktır bunun üzerine). Yanıt üzerine, o önbelleği zaten yaptığınız gibi doldurursunuz ve AngularJS gerisini halledecektir.

İlgili konular