【发布时间】:2017-01-10 20:41:07
【问题描述】:
使用此代码:
fetch('notExists') // <---- notice
.then(
function(response)
{
alert(response.status)
}
)
.catch(function(err)
{
alert('Fetch Error : ', err);
});
这个承诺解决。
它返回一个可以解析为该请求的响应的承诺, 不管成功与否。
一个失败的 ajax 请求即使转到一个不存在的资源也得到了解决,这不是很奇怪吗?
我的意思是——接下来呢?将fetch 发送到已关闭但仍获得已解决承诺的服务器?
我知道我可以在 response 对象的 ok 属性上进行调查,但仍然 -
问题
为什么会为完全错误的请求(非现有资源)解决提取问题。
【问题讨论】:
-
它必须解决才能处理错误代码。
-
@Barmar 那么为什么不在 catch/reject 处理程序上呢?
-
您希望获取标准的作者回复吗?因为他们将是那些无需猜测就能回答这个问题的人。
-
@MikeMcCaughan 我只是想找到答案。我不希望 Henrik 在这里回答 :-)
-
我同意,404 不走错误路径是疯狂的。
标签: javascript promise fetch