[英]For which status codes does the promise resolve
我想澄清哪些http状态代码解决了来自$ http的承诺并且拒绝了它。 据我了解,它仅在200的情况下解决,其余的被拒绝。
那正确吗? 还是有其他情况?
编辑:
对于AngularJS
200到299之间的响应状态代码被视为成功状态,将导致调用成功回调。 任何超出该范围的响应状态代码都被视为错误状态,并将导致调用错误回调。
资料来源: https : //github.com/angular/angular.js/blob/master/src/ng/http.js
正如Bergi在对你的问题的评论中指出的那样,答案在于源代码。 $ http中有一个名为isSuccess的私有函数,如下所示:
function isSuccess(status) {
return 200 <= status && status < 300;
}
它在该文件中的几个地方使用,但对我们来说重要的是:
(isSuccess(status) ? deferred.resolve : deferred.reject)({ //...
所以有你的答案! 2 **(二百和一些)范围内的任何状态代码都是成功的,并且将解决$ http包围XHR的承诺,其他任何事情都是失败并拒绝它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.