在 angular 中取消资源请求
Cancel a resource request in angular
我是angular的新手,所以我需要这个问题的详细解答。看了很多回答都不是我的情况
我有一个服务:
function ticketService($resource, globals) {
return $resource(globals.API_URL+'/tickets/:id', {id: '@id'}, {
update: {method: 'PUT'}
});
}
现在打新电话时需要取消之前的电话。我需要如何在这里使用 timeout 参数?
在控制器中,我这样调用此服务:
ticketService.get({group_by: type}, function(data) {
.
.
.
.
});
我需要如何更改我的服务和控制器。
谢谢。
示例是这个先前的 Whosebug 问题应该也适用于您的要求。 $resource
支持 Angular 的承诺系统的 timeout
功能。
var canceller;
function ticketService($resource, globals) {
canceller = $q.defer();
return $resource(globals.API_URL + '/tickets/:id', {
timeout: canceller.promise,
id: '@id'
}, {
update: {method: 'PUT'}
});
}
function cancelRequest() {
if (canceller) {
// You could also use a $timeout timer to cancel it
canceller.resolve('cancelled');
}
}
我是angular的新手,所以我需要这个问题的详细解答。看了很多回答都不是我的情况
我有一个服务:
function ticketService($resource, globals) {
return $resource(globals.API_URL+'/tickets/:id', {id: '@id'}, {
update: {method: 'PUT'}
});
}
现在打新电话时需要取消之前的电话。我需要如何在这里使用 timeout 参数?
在控制器中,我这样调用此服务:
ticketService.get({group_by: type}, function(data) {
.
.
.
.
});
我需要如何更改我的服务和控制器。
谢谢。
示例是这个先前的 Whosebug 问题应该也适用于您的要求。 $resource
支持 Angular 的承诺系统的 timeout
功能。
var canceller;
function ticketService($resource, globals) {
canceller = $q.defer();
return $resource(globals.API_URL + '/tickets/:id', {
timeout: canceller.promise,
id: '@id'
}, {
update: {method: 'PUT'}
});
}
function cancelRequest() {
if (canceller) {
// You could also use a $timeout timer to cancel it
canceller.resolve('cancelled');
}
}