使用try...catch仍无法屏蔽Fetch请求404错误的控制台输出求助
try...catch仍无法屏蔽Fetch请求404错误的控制台输出求助
各位好,我现在碰到个棘手的问题:明明给Fetch请求套了多层try...catch,连调用函数的时候也加了捕获逻辑,但控制台里还是会跳出404的错误提示,怎么都消不掉。
下面是我写的检查文件是否存在的函数:
async function checkFileExists(url) { try { return await fetch(url) .then((response) => { if (response.status === 200) { return true; } else { return false; } }) .catch(() => { return false; }); } catch (error) { return false; } }
调用这个函数的时候我也加了try...catch:
try { const imgLongExists = await checkFileExists(imgLongPath); if (imgLongExists) { cardImgLong.src = imgLongPath; } else { cardImgLong.src = "img/blank-long.png"; } } catch (error) { cardImgLong.src = "img/blank-long.png"; }
我原本的逻辑是不管请求失败还是返回非200状态,都返回false,然后自动切换到空白图片,但控制台的404错误就是没法被屏蔽。有没有大佬能帮我找找问题出在哪,或者有没有其他办法能消除这个控制台错误?
备注:内容来源于stack exchange,提问作者Le Magicien Annonyme
相关产品推荐
相关产品推荐

