这篇文章主要介绍了es7之fetch如何解决异步嵌套问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联专注于宿城企业网站建设,响应式网站建设,成都商城网站开发。宿城网站建设公司,为宿城等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
我们之前学习了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姓名${name},年龄${age} ` } 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姓名${name},年龄${age} ` } 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姓名${name},年龄${age} ` } uldom.innerHTML=html; } main()
感谢你能够认真阅读完这篇文章,希望小编分享的“es7之fetch如何解决异步嵌套问题”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!