我正在使用 Angular 1.5.7,并且希望在需要时间的情况下取消对资源的删除。我正在使用 MEAN 堆栈,有时我会看到资源上的删除被视为待处理(是 mongo 吗,速度很慢吗?)。 下面是工厂和 Controller 中我调用删除的代码片段: * 工厂:
.factory('addressesFactory', ['$resource', 'baseURL', function ($resource, baseURL) {
return $resource(baseURL + 'addresses/:id', {id: '@_id'}, {
'update': {
method: 'PUT'
},
'delete': {
method: 'DELETE'
}
});
}])
来自 Controller 的代码片段:
$scope.delete = function (address, addressesList) { $scope.deleteDisabled=true; console.log('[ModeratorsCtrl] Deleting:' + address.name); console.log('[ModeratorsCtrl] ' + addressesList.length); addressesFactory.delete({id: address._id}).$promise.then( function (response) { $scope.deleteDisabled=false; console.log('[ModeratorsCtrl] Address deleted successfully'); }, function (response) { $scope.deleteDisabled=false; var message = '[ModeratorsCtrl] Error: ' + response.status + ' ' + response.statusText; console.log(message); } );
};
我看到了这篇文章How to cancel $resource requests并阅读有关取消请求的信息:https://docs.angularjs.org/api/ngResource/service/ $资源#!与 $cancelRequest() 但我有点困惑。 谁能给我关于如何在实现中取消 promise 的最佳实践? 问候,
最佳答案
假设您的资源是Users
,要取消请求,您应该命名您的操作,例如
var request = Users.query();
此时``请求就是一个 promise 。你可以简单地做一个,
request.$cancelRequest();
取消。
关于javascript - 如何在 1.5 中取消 AngularJS 中 $resource 的 promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38865199/