嘗試一些像這樣的解決方案後:Aborting ngResource using a promise object我無法取消使用$ resource進行的請求。 我最後的嘗試是這個:
控制器:
angular.module('theApp')
.controller('homeController', function ($q, foodTypeFactory) {
var vm = this;
vm.testButton = function() {
vm.aborter = $q.defer();
foodTypeFactory(vm.aborter).getTest({}, function (data) {
console.log(data);
});
};
vm.cancelButton = function() {
vm.aborter.resolve();
}
});
foodTypeFactory:
angular.module('theApp')
.factory('foodTypeFactory', function ($resource, BACKEND_API) {
return function (aborter) {
return $resource(BACKEND_API + '/api/foodtypes/:id', {id: '@id'}, {
getTest: {
timeout: aborter.promise
}
});
}
});
一旦請求由它完成,即使我試着取消它。 我正在使用角度資源1.6.2的Angular 1.6.2。
我在做什麼錯?
我需要取消該請求一旦完成。採用這種方法,我只能在完成之前取消請求。 – Roomm
對不起..但如果它完成了...你如何取消它? .... –
如果你想你可以攔截響應..總是在我寫的文件..並不返回它..如果你的條件不匹配 –