在浏览器中使用 fetch 的时候,后端因为用户没有认证,返回一个 401 状态码和一些信息,本来打算在 fetch 的 then 里,通过判断 response 的 status 来做区别处理,结果实际情况是,浏览器在发起 fetch 请求后因为返回的状态码是 401,判断请求失败抛了异常,我带着返回内容的响应体和响应状态码全都没了,用.catch()捕获的参数只有一个 TypeError,包含的内容非常有限。
按照网上各路 dalao 的教程来说,应该就算是状态码是 401,但是仍然收到了完整的响应,应该会拿到完整的响应对象的,但是实际上并不是这样。
这里我尝试打印响应对象,但是并没有执行 then 里的逻辑,而是走了 reject,回调方法的参数是一个 TypeError。
还有一些我看不懂的 dalao 们的讨论
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.