如何在angularjs中缓存http get服务

前端之家收集整理的这篇文章主要介绍了如何在angularjs中缓存http get服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想能够创建一个自定义服务,在ts数据对象为空的情况下获取一个http获取请求,并在成功时填充数据对象。下一次进行服务调用时,设备将不会调用http get,而是将显示数据对象。

任何想法如何做呢?

Angular的 $http有一个内置的缓存。只需在其选项中设置缓存为true:
$http.get(url,{ cache: true}).success(...);

要么

$http({ cache: true,url: url,method: 'GET'}).success(...);

或者你可以使用$cacheFactory(特别是当使用$ resource时自己实现):

var cache = $cacheFactory('myCache');

var data = cache.get(someKey);

if (!data) {
   $http.get(url).success(function(result) {
      data = result;
      cache.put(someKey,data);
   });

猜你在找的Angularjs相关文章