尽管更改了数据,多个API调用仍返回相同的数据(缓存问题)

时间:2019-08-14 08:55:45

标签: angularjs caching scope angularjs-scope angular-ui-bootstrap

当我第一次打开所有加载的东西时,我的模态有问题,但是当我第二次打开(关闭它之后),加载函数被触发但API调用没有发送,尽管数据已更改,但返回的数据始终与以前相同。

我认为这是一个缓存问题,我正在搜索此问题,但找不到适合我的解决方案。我尝试禁用缓存(我正在使用Restangular),但是我遇到了同样的问题,我的请求没有发送,并且我得到了上一个的响应

这是模态代码:

function LoadModalController($state, $stateParams, LoadService, ModalService, $timeout, $q, $scope, $uibModalInstance, $rootScope, EVENTS) {
  var $ctrl = this;
  $scope.loaded = [];
  $ctrl.loading = true;

  $ctrl.ok = function () {
    $uibModalInstance.close();
  };

  $ctrl.cancel = function () {
    $uibModalInstance.close();
  };

  loadAll();

  function loadAll() {
    $timeout(function () {
      LoadService.all()
        .then(load)
        .catch(loadFailed);

      function load(data) {
        $scope.loaded = data.plain();
        $ctrl.loading = false;
      }

      function loadFailed(e) {
        var newMessage = 'Failed';
        if (e.data && e.data.description) {
          newMessage = newMessage + '\n' + e.data.description;
        }
        e.data = newMessage;
        return $q.reject(e);
      }
    });
  }
}

0 个答案:

没有答案