截图中两个都是请求失败的场景,从前端现象来看第二个失败前端拿不到接口的响应(then、catch
都拿不到),导致页面一直处于loading
状态无法关闭,两个fail
的到response
都是一样的,如下图
请问下第二种failed
是什么异常场景?前端为啥没拿到响应?这种场景如何模拟出来呢?
截图中两个都是请求失败的场景,从前端现象来看第二个失败前端拿不到接口的响应(then、catch
都拿不到),导致页面一直处于loading
状态无法关闭,两个fail
的到response
都是一样的,如下图
请问下第二种failed
是什么异常场景?前端为啥没拿到响应?这种场景如何模拟出来呢?
failed to fetch
是一个常见的网络错误,通常表示浏览器在尝试发起网络请求时未能成功完成。这种错误可能由多种原因引起,包括但不限于:
在您提供的场景中,第二种failed
很可能是由于以下一种或多种原因导致的:
then
或catch
中的回调,因为这是一个安全策略级别的阻止,而不是一个可捕获的异常。failed to fetch
,但通常在这种情况下,catch
块应该能够捕获到错误。为什么前端没拿到响应?
如果是因为CORS或浏览器拦截导致的请求失败,这些错误是在浏览器层面被拦截的,因此不会触发JavaScript的then
或catch
。这意味着错误不会作为Promise的拒绝(rejection)传递,因此您无法在catch
块中捕获到它。
如何模拟这种场景?
通过这些方法,您可以模拟出failed to fetch
的场景,并观察前端如何响应这些错误。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决