如何在AngularJS中取消$资源请求

时间:2017-11-09 11:52:54

标签: javascript angularjs

我有像这样的ajax调用

    angular.module('my.module')
    .factory('Users', ['config', '$resource', function(config, $resource) {
      return $resource('/my/endpoint', {
        userId: '@userId'
      }, {
        query: {
            method: "GET"
        }
    });
  }])

然后我有一个UserLoader

.factory('UserLoader', ['Users', 'LoaderFactory', function(users, LoaderFactory) {
   [some other stuff]
}])

和控制器

.controller('UserSearchCtrl', ['$scope', 'UserLoader', function($scope, UserLoader) {

}])

如何在发送另一个电话之前取消之前的电话?

1 个答案:

答案 0 :(得分:1)

您需要将资源配置为可取消

query: {method: 'get',cancellable: true}

然后您可以在此资源上调用$cancelRequest()

Users.query().$cancelRequest()