2016-05-05 2 views
1

Мне нужно обновить кеш после добавления новых данных в базу данных.

angular.module('app').factory('myService', function ($http,$cacheFactory) { 

    var profileCache=$cacheFactory('profiles'); 

    //get list of items 
    function getItem(){ 
    var request=$http({ 
    method:'get', 
    url:domain+'/api/v1/items/list', 
    cache:profileCache, 
    params:{ 
     action:'get' 
    } 
    }); 
    return(request.then(response.data)); 
} 
// Post items 
function addItem(item){ 
    var request=$http({ 
    method:'post', 
    url:domain+'/api/v1/items/add', 
    data:item 
    }); 
    return(request.then(response.data)); 
} 
}) 

Я хочу обновить кеш после добавления элемента, чтобы кэш мог иметь новые измененные данные.

+0

Это может быть полезно для вас [Обновить или аннулировать кеш] (http://stackoverflow.com/questions/17059569/how-to-refresh-invalidate-resource-cache-in-angularjs) –

+0

@GitaramKanawade Yup видел это. Покупка не могла реализовать его по желанию. –

ответ

0

как вы можете прочитать здесь

https://docs.angularjs.org/api/ng/service/$http

$ HTTP ответы не кэшируются по умолчанию

, но если у вас есть особое окружение, и вам необходимо, чтобы предотвратить кэширование вы можете добавить дату время по вашему запросу пример

function getItem(){ 
    var d = new Date(); 
    var n = d.getDate(); 
    var request=$http({ 
    method:'get', 
    url:domain+'/api/v1/items/list?' + n, 
    cache:true, 
    params:{ 
     action:'get' 
    } 
    }); 
    return(request.then(response.data)); 
}