我需要在成功/然後函數中拒絕$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