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


Posted in Javascript onJuly 21, 2017

本文主要给大家介绍的是关于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()

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

总结

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

Javascript 相关文章推荐
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
网站404页面3秒后跳到首页的实例代码
Aug 16 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
jQuery 弹出层插件(推荐)
May 24 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
Aug 24 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
node.js学习之事件模块Events的使用示例
Sep 28 Javascript
ES6学习笔记之map、set与数组、对象的对比
Mar 01 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
Dec 17 Javascript
js实现小星星游戏
Mar 23 Javascript
js 函数性能比较方法
Aug 24 Javascript
js图片轮播插件的封装
Jul 21 #Javascript
Javascript es7中比较实用的两个方法示例
Jul 21 #Javascript
AngularJS中使用three.js的实例详解
Jul 21 #Javascript
Axios学习笔记之使用方法教程
Jul 21 #Javascript
Vue学习笔记进阶篇之函数化组件解析
Jul 21 #Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
Jul 21 #Javascript
基于JavaScript实现数码时钟效果
Mar 30 #Javascript
You might like
PHP 引用是个坏习惯
2010/03/12 PHP
PHP网络操作函数汇总
2015/05/18 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
jquery 模式对话框终极版实现代码
2009/09/28 Javascript
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
基于Jquery的标签智能验证实现代码
2010/12/27 Javascript
jQuery在IE下使用未闭合的xml代码创建元素时的Bug介绍
2012/01/10 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
利用javascript数组长度循环数组内所有元素
2013/12/27 Javascript
node.js中的fs.open方法使用说明
2014/12/17 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
详解vue-cli + webpack 多页面实例应用
2017/04/25 Javascript
JavaScript实现计算多边形质心的方法示例
2018/01/31 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
Python读取键盘输入的2种方法
2015/06/16 Python
python开发中module模块用法实例分析
2015/11/12 Python
python实现QQ批量登录功能
2019/06/19 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
python 密码学示例——理解哈希(Hash)算法
2020/09/21 Python
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
关于圣诞节的广播稿
2014/01/26 职场文书
优秀教师主要事迹
2014/02/01 职场文书
2014国培学习感言
2014/03/05 职场文书
奥巴马连任演讲稿
2014/05/15 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
监理中标通知书
2015/04/16 职场文书
外出听课学习心得体会
2016/01/15 职场文书