全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

es7学习教程之fetch解决异步嵌套问题的方法示例

本文主要给大家介绍的是关于fetch API解决异步嵌套问题,下面话不多说,来一起看看详细的介绍:

我们之前学习了async和await,知道他是为了解决浏览器异步获取的的!但是我们用fetch api的话方法会更加的简单

async和await解决异步嵌套

function ajax(url){

   return new Promise(function(reslove,reject){
    let xmlHttp=new XMLHttpRequest();
    xmlHttp.open("get",url,true);
    xmlHttp.onreadystatechange=function(){
     if(xmlHttp.readyState==4&&xmlHttp.status==200){
      let data=JSON.parse(xmlHttp.responseText);
      reslove(data);
     }
    }
    xmlHttp.send(null);
   })
  }
  let uldom=document.getElementById("students");
  let url="http://192.168.0.57:8000/students.json";
  async function main(){
  let data=await ajax(url);
  
  let students=data;
  let html="";
  for(let i=0,l=students.length;i<l;i++){
   let name=students[i].name;
   let age=students[i].age;
   html+=`
   <li>姓名${name},年龄${age}</li>
   `
  }
  uldom.innerHTML=html;
  }
  main();

我们需要创建Promise函数来进行操作,如果我们用fetch解决的话,会更加的方便!

let uldom=document.getElementById("students");
  let url="http://192.168.0.57:8000/students.json";
  function main(){
   fetch(url).then(respone=>{
   return respone.json();
  }).then(data=>{
   let students=data;
   let html="";
   for(let i=0,l=students.length;i<l;i++){
    let name=students[i].name;
    let age=students[i].age;
    html+=`
    <li>姓名${name},年龄${age}</li>
    `
   }
   uldom.innerHTML=html;
  });
   
  }
  main();

不用创建Promise,直接调用then()是不是比上边更加的简单!

async、await结合fetch处理异步

let uldom=document.getElementById("students");
 let url="http://192.168.0.57:8000/students.json"; 
 async function main(){
  let respone = await fetch(url);
  let student = await respone.json();
  let html="";
  for (let i=0,l=students.length;i<l;i++){
   let name=students[i].name;
   let age=students[i].age;
   html+=`
   <li>姓名${name},年龄${age}</li>
   `
  }
  uldom.innerHTML=html;
  }
 main()

感觉是不是很简单!比上一种方法更加的简单。

总结

以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# es7  # fetch  # 异步  # Javascript es7中比较实用的两个方法示例  # es7学习教程之Decorators(修饰器)详解  # 的是  # 他是  # 给大家  # 很简单  # 这篇文章  # 谢谢大家  # 多说  # 比上  # 法会  # 直接调用  # 有疑问  # ajax  # url  # function  # class  # brush  # js  # open  # reject  # XMLHttpRequest 


相关文章: 如何用PHP工具快速搭建高效网站?  建站主机与服务器功能差异如何区分?  c# 在高并发下使用反射发射(Reflection.Emit)的性能  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何在阿里云域名上完成建站全流程?  制作公司内部网站有哪些,内网如何建网站?  如何快速使用云服务器搭建个人网站?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  5种Android数据存储方式汇总  如何配置IIS站点权限与局域网访问?  北京网站制作公司哪家好一点,北京租房网站有哪些?  建站之星3.0如何解决常见操作问题?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  创业网站制作流程,创业网站可靠吗?  如何基于云服务器快速搭建网站及云盘系统?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  济南网站制作的价格,历城一职专官方网站?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  Python路径拼接规范_跨平台处理说明【指导】  如何用低价快速搭建高质量网站?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  如何彻底删除建站之星生成的Banner?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  如何在阿里云服务器自主搭建网站?  建站主机如何安装配置?新手必看操作指南  桂林网站制作公司有哪些,桂林马拉松怎么报名?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  建站VPS选购需注意哪些关键参数?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  电商网站制作公司有哪些,1688网是什么意思?  如何制作网站标识牌,动态网站如何制作(教程)?  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  如何做静态网页,sublimetext3.0制作静态网页?  建站之星后台管理如何实现高效配置?  如何在IIS中配置站点IP、端口及主机头?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  Thinkphp 中 distinct 的用法解析  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  网站制作软件有哪些,制图软件有哪些?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  焦点电影公司作品,电影焦点结局是什么?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  潮流网站制作头像软件下载,适合母子的网名有哪些?  c# 服务器GC和工作站GC的区别和设置 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。