javascript - fetch().then/fetch 不同?
问题描述
我正在使用 fetch 检查我的图像是否存在,然后返回 true/false 以替换原始图像。
但是,这让我在 fetch 和 fetch.then 之间感到困惑。然后,当我只将 url 放入 fetch() 以检查其状态时,使用 if 条件对我来说效果很好,然后我尝试使用 fetch(url).then (response => ...) 做同样的事情,它输出不同的结果。
我期望这两种方式应该输出相同的结果,有没有盲点?
$('.src-load .rwd-1440').each(function(index, ele){
var srcset = $(ele).attr("srcset");
if(!urlexist(srcset)){
var src = srcset.substring(0, srcset.indexOf('/1440'));
$(ele).attr("srcset", src);
}
});
function urlexist(url){
var myRequest = new Request(url);
fetch(myRequest).then(function(response) {
if(response.status != 404){
return true;
}
else
return false;
});
}
<picture class="src-load">
<source class="rwd-1440" media="(min-width: 801px) and (max-width: 1440px)" srcset="image.png/1440.png">
<img src="image.png">
</picture>
解决方案
推荐阅读
- git - Jenkins git 发布者权限
- pyinstaller - 为什么 pyinstaller 在 Python 3.6 中与 pdfminer 模块一起使用时会创建一个巨大的 exe 文件?
- postgresql - postgresql - 有条件的触发函数
- php - 使用 html2canvas 捕获图像,尝试将其上传到服务器,但始终无法正常工作
- laravel - Laravel 6 中的 Laravel 访问器数据透视表
- java - 无法使用 Spring JPA READ_UNCOMMITTED 隔离级别读取未提交的数据
- javascript - 如何以反应形式验证输入类型文件大小
- google-people-api - 需要从 Google 获取每月评论数
- laravel - Laravel,从数据库中获取具有最高版本列的行
- python - 可以将这些冗长的代码更改为递归函数吗?