我需要在成功/然后函数中拒绝$http
promise调用。我可以看到2个选项: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;
这听起来像是为[拦截](HTTPS作业://文档.angularjs.org/api/ng/service/$ http#拦截器) – Cerbrus
为什么你想首先拒绝成功处理程序? –
@ code-jaff - $ http的成功定义与我自己的定义不同。有时它会成功返回无效数据,所以我希望调用函数具有“正确”的响应。 – cyberwombat