Angular正确缓存或加载http请求的方法

时间:2016-10-28 14:18:54

标签: javascript angularjs caching

这真的是一个问题。我在我的应用程序中使用了几个真正涵盖整个站点的http请求。

  1. 缓存请求是否更好?还是以更有效的方式仅在给定的URL上发出请求?
  2. 我是否正确理解缓存方法(参见下面的代码)
  3. 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 个答案:

答案 0 :(得分:1)

  1. 您可以自定义HTTP提供程序以查找某些路径并为您的应用程序缓存它们。但我认为通过指定cache=true来编写您希望缓存的特定调用更好更清晰?

  2. 我认为您已正确理解。

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

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

    因此,如果您在角度SPA的实例范围内重复向/wp-json/menus/2发出请求,则不会命中服务器。它非常有效。

    我希望这会有所帮助。