es7學(xué)習(xí)教程之fetch解決異步嵌套問(wèn)題的方法示例
本文主要給大家介紹的是關(guān)于fetch API解決異步嵌套問(wèn)題,下面話不多說(shuō),來(lái)一起看看詳細(xì)的介紹:
我們之前學(xué)習(xí)了async和await,知道他是為了解決瀏覽器異步獲取的的!但是我們用fetch api的話方法會(huì)更加的簡(jiǎn)單
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();
我們需要?jiǎng)?chuàng)建Promise函數(shù)來(lái)進(jìn)行操作,如果我們用fetch解決的話,會(huì)更加的方便!
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();
不用創(chuàng)建Promise,直接調(diào)用then()是不是比上邊更加的簡(jiǎn)單!
async、await結(jié)合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()
感覺(jué)是不是很簡(jiǎn)單!比上一種方法更加的簡(jiǎn)單。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
用js代碼和插件實(shí)現(xiàn)wordpress雪花飄落效果的四種方法
這篇文章主要介紹了用js代碼和插件實(shí)現(xiàn)wordpress雪花飄落效果的四種方法,需要的朋友可以參考下2014-12-12
html2canvas+jspdf實(shí)現(xiàn)下載pdf文件并添加水印
這篇文章主要為大家詳細(xì)介紹了如何使用html2canvas + jspdf進(jìn)行下載pdf文件添加水印,以及echarts圖片防止截?cái)嗵幚?有需要的小伙伴可以了解下2024-10-10
JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)端播放攝像頭實(shí)時(shí)畫面
這篇文章主要介紹了如何利用JavaScript實(shí)現(xiàn)在網(wǎng)頁(yè)端播放局域網(wǎng)(不能上云)或是廣域網(wǎng)的攝像頭的實(shí)時(shí)畫面,文中的示例代碼講解詳細(xì),需要的可以參考一下2022-02-02
跟我學(xué)習(xí)javascript的異步腳本加載
跟我學(xué)習(xí)javascript的異步腳本加載,告訴大家如何使自己的站點(diǎn)更快捷,以及最簡(jiǎn)單的方法 利用什么樣的工具達(dá)到預(yù)期效果,想一探究竟的朋友可以參考一下這篇文章。2015-11-11
JavaScript實(shí)現(xiàn)打印星型金字塔功能實(shí)例分析
這篇文章主要介紹了JavaScript實(shí)現(xiàn)打印星型金字塔功能,結(jié)合具體實(shí)例形式分析了javascript針對(duì)輸出任意給定行數(shù)星型金字塔圖形的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09
js中刪除數(shù)組中的某一元素實(shí)例(無(wú)下標(biāo)時(shí))
下面小編就為大家?guī)?lái)一篇js中刪除數(shù)組中的某一元素實(shí)例(無(wú)下標(biāo)時(shí))。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02

