2016-10-28 40 views
0

这实际上更多的是一个问题。我在我的应用程序中使用了几个http请求,它们确实跨越了整个站点。角度正确的缓存或加载http请求的方式

  1. 缓存请求还是有更好的方式来只对给定的URL发出请求呢?
  2. 我是正确认识缓存方法(见下面的代码)

homeApp.controller('mainMenu', function($scope, $http) { 
 
    $http.get("http://localhost:3000/wp-json/menus/2", { 
 
    cache: true 
 
    }).then(function(response) { 
 
    $scope.menuData.data = response.data.items; 
 
    }); 
 
});

我试图把这个东西作为快速和敏捷越好。谢谢大家!

回答

1
  1. 您可能可以自定义HTTP提供程序以查找某些路径并将它们缓存为您的应用程序。但我认为通过指定cache=true编码要缓存的特定呼叫会更好,更清晰吗?

  2. 我想你已经正确地理解了它。

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

“启用缓存时,$ HTTP相同的请求作出下一次存储使用相关的缓存对象从服务器的响应,响应从缓存返回而不发送向服务器发送请求。“

因此,如果您在angular SPA的实例范围内反复向/wp-json/menus/2发出请求,它将不会触及服务器。它非常有效。

我希望这会有所帮助。

+0

它的确如此!我认为缓存是我寻找的解决方案。我是一个优雅而简单的粉丝。我认为这太棒了!大声笑仍然只是学习angularjs语法的内部和。 – JoethaCoder