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

 更新时间:2017年07月21日 10:53:34   作者:青石巷  
这篇文章主要给大家介绍了关于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()

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

总结

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

相关文章

  • 用js代码和插件实现wordpress雪花飘落效果的四种方法

    用js代码和插件实现wordpress雪花飘落效果的四种方法

    这篇文章主要介绍了用js代码和插件实现wordpress雪花飘落效果的四种方法,需要的朋友可以参考下
    2014-12-12
  • html2canvas+jspdf实现下载pdf文件并添加水印

    html2canvas+jspdf实现下载pdf文件并添加水印

    这篇文章主要为大家详细介绍了如何使用html2canvas + jspdf进行下载pdf文件添加水印,以及echarts图片防止截断处理,有需要的小伙伴可以了解下
    2024-10-10
  • JavaScript实现网页端播放摄像头实时画面

    JavaScript实现网页端播放摄像头实时画面

    这篇文章主要介绍了如何利用JavaScript实现在网页端播放局域网(不能上云)或是广域网的摄像头的实时画面,文中的示例代码讲解详细,需要的可以参考一下
    2022-02-02
  • 跟我学习javascript的异步脚本加载

    跟我学习javascript的异步脚本加载

    跟我学习javascript的异步脚本加载,告诉大家如何使自己的站点更快捷,以及最简单的方法 利用什么样的工具达到预期效果,想一探究竟的朋友可以参考一下这篇文章。
    2015-11-11
  • JavaScript实现打印星型金字塔功能实例分析

    JavaScript实现打印星型金字塔功能实例分析

    这篇文章主要介绍了JavaScript实现打印星型金字塔功能,结合具体实例形式分析了javascript针对输出任意给定行数星型金字塔图形的原理与相关实现技巧,需要的朋友可以参考下
    2017-09-09
  • 详解js前端代码异常监控

    详解js前端代码异常监控

    本文主要介绍了js代码异常监控的相关知识。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 单击某一段文字改写文本颜色

    单击某一段文字改写文本颜色

    单击某一段文字,改文字变为红色,再次单击之后,文字又变回黑色,示例如下,需要的朋友可以参考下
    2014-06-06
  • 老生常谈JS中的继承及实现代码

    老生常谈JS中的继承及实现代码

    这篇文章主要介绍了js中的继承及实现代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • js中toString方法3个作用

    js中toString方法3个作用

    这篇文章主要给大家分享了js中toString方法的3个作用,文章围绕js中toString方法的相关资料展开全文内容,需要的小伙伴可以参考一下,希望对你的学习有所帮助
    2021-12-12
  • js中删除数组中的某一元素实例(无下标时)

    js中删除数组中的某一元素实例(无下标时)

    下面小编就为大家带来一篇js中删除数组中的某一元素实例(无下标时)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论