首页 > 解决方案 > 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>

标签: javascriptfetchpicturefill

解决方案


推荐阅读