我需要在success / then函数中拒绝$http promise调用.我可以看到两个选项:1)抛出一个错误 – 这会使控制台变得混乱,并且2)使用单独的延迟调用并拒绝它.有更干净/更简洁的方式吗?我有一种感觉,我忽略了一些明显的东西.
错误:
return $http.get(url}.then(function(r) {
throw new Error('Booh');
});
$q:
var deferred = $q.defer();
$http.get(url}.then(function(r) {
deferred.reject("Booh");
});
return deferred.promise;
最佳答案 试试这个:
function myfunction()
{
return $http.post('url')
.then(function(response){
// check success-property of returned data
if(response.data === 'Something you dont want')
return $q.reject('some error occured');
else{
return $q.resolve(response.data);
}
})
}