亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

ES6中異步對象Promise用法詳解

2019-11-19 11:06:08
字體:
來源:轉載
供稿:網友

本文實例講述了ES6中異步對象Promise用法。分享給大家供大家參考,具體如下:

回憶一下ES5中的怎么使用異步方法

// es5中的異步回調  let ajax = function(callback){   console.log('執行')  // 執行   setTimeout(() => {    callback&&callback.call();   }, 1000)  };  ajax(function(){   console.log('hello') // 1s后打印hello  });

使用ES6的Promise的方法:

let ajax = function(){   console.log('執行2'); // 執行2   return new Promise((resolve,reject)=>{    setTimeout(() => {     resolve() // 執行下一步操作, reject  // 中斷當前的操作    },5000)   })}ajax().then(()=>{   console.log('promise','timeout2')  // 5s后打印  promise timeout2})

連續使用Promise對象:

let ajax = function(){   console.log('執行3');   return new Promise((resolve,reject)=>{    setTimeout(() => {     resolve();    },5000)   })}ajax().then(function(){   return new Promise(function(resolve,reject){    setTimeout(() => {     resolve()    }, 2000)   })}).then(function(){   console.log('timeouk3') // 7s后打印timeouk3})

Promise捕獲錯誤的catch( )

// catch 捕獲錯誤let ajax = function(num){   console.log('執行4');   return new Promise(function(resolve,reject){    if(num>=5){     resolve();    }else{     throw new Error('傳入的數字比5小')    }   })}ajax(4).then(function(){   console.log('log',4);}).catch(function(err){   console.log('catch',err); // catch Error: 傳入的數字比5小})

Promise的兩種高級用法

1.Promise.all( )

function loadImg(src){   return new Promise((resolve,reject)=>{    let img = document.createElement('img');    img.src = src;    img.onload = function(){     resolve(img);    }    img.onerror = function(err){     reject(err);    }   })}// 對所有的圖片進行遍歷function showImgs(imgs){   console.log(imgs);   imgs.forEach(function(img){    document.body.appendChild(img);   })}// promise.all()的用法Promise.all([   loadImg('http://yanshi.sucaihuo.com/modals/0/23/small.jpg'),   loadImg('http://yanshi.sucaihuo.com/modals/0/20/small.jpg'),   loadImg('http://yanshi.sucaihuo.com/modals/0/2/small.jpg')]).then(showImgs)/**解析:把多個promise實例當做一個promise實例,當所有的promise實例發生變化后新的promise實例才會發生變化*/

2.Promise.race( )

// Promise 先加載 有一個圖片加載完就先添加到頁面  function loadImg(src){   return new Promise((resolve,reject)=>{    let img = document.createElement('img');    img.src = src;    img.onload = function(){     resolve(img);    }    img.onerror = function(err){     reject(err);    }   })  }  function showImgs(img){   let p = document.createElement('p');   p.appendChild(img);   document.body.appendChild(p);  }  // promise.race()的用法 只要有一個網速好的加載完,其他的就不加載了  Promise.race([   loadImg('http://yanshi.sucaihuo.com/modals/0/23/small.jpg'),   loadImg('http://yanshi.sucaihuo.com/modals/0/20/small.jpg'),   loadImg('http://yanshi.sucaihuo.com/modals/0/2/small.jpg')  ]).then(showImgs) }

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.VeVB.COm/code/HtmlJsRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
深夜福利一区二区| 国产精品中文久久久久久久| 91精品国产乱码久久久久久久久| 一区二区欧美激情| 九九热视频这里只有精品| 欧美一性一乱一交一视频| 色偷偷88888欧美精品久久久| 精品人伦一区二区三区蜜桃免费| 影音先锋欧美在线资源| 亚洲男人天堂久| 国产精品久久久久高潮| 在线播放国产精品| 日韩hd视频在线观看| 国产亚洲精品久久久久久777| 国产精品偷伦一区二区| 成人免费高清完整版在线观看| 国产成人精品亚洲精品| 日本不卡免费高清视频| 色婷婷成人综合| 中文欧美日本在线资源| 欧美中文在线观看| 欧美精品免费在线观看| 久久国产精品久久国产精品| 国产成人91久久精品| 中文字幕欧美日韩在线| 日韩国产欧美精品一区二区三区| 精品国产一区av| 国产免费一区二区三区在线观看| 国产精品久久久久久久久久久新郎| 精品国产福利视频| 久久免费视频在线| 亚洲日本成人女熟在线观看| 国产精品男人的天堂| 91九色国产在线| 精品少妇一区二区30p| 热re91久久精品国99热蜜臀| 亚洲免费av网址| 久久精品国产亚洲精品2020| 日韩影视在线观看| 成人高h视频在线| 在线成人一区二区| 亚洲二区在线播放视频| 欧美激情视频在线观看| 亚洲电影免费观看高清完整版| 日韩亚洲综合在线| 国产精品天天狠天天看| 亚洲片在线观看| 日本欧美一二三区| 中文字幕日韩av综合精品| 欧美电影免费观看| 青草青草久热精品视频在线网站| 欧美三级欧美成人高清www| 日韩激情在线视频| 欧美在线视频一二三| 国产91精品最新在线播放| 96国产粉嫩美女| 欧美激情视频免费观看| 中文国产亚洲喷潮| 亚洲国产天堂网精品网站| 日本国产精品视频| 福利一区福利二区微拍刺激| 国产视频久久久久| 久久视频免费观看| 超碰97人人做人人爱少妇| 欧美二区在线播放| 一区二区三区视频在线| 亚洲另类欧美自拍| 亚洲免费视频网站| 国产一区二区三区免费视频| 在线播放国产一区二区三区| 中文字幕无线精品亚洲乱码一区| 国产一区视频在线| 亚洲精品中文字| 欧美丰满少妇xxxx| 狠狠久久五月精品中文字幕| 国内精品一区二区三区| 自拍偷拍亚洲在线| 国产精品国产三级国产专播精品人| 91久久精品美女高潮| 精品亚洲精品福利线在观看| 国内精品小视频| 中文字幕在线观看亚洲| 亚洲最大av网站| 亚洲免费一在线| 色综合亚洲精品激情狠狠| 日本久久亚洲电影| 国产成人精品一区二区在线| 91精品国产高清久久久久久91| 好吊成人免视频| 日韩中文字幕视频在线| 欧美成人激情图片网| 日韩有码在线视频| 欧美在线国产精品| 国产精品久久久久久久久久久久久久| 精品视频在线播放免| 亚洲欧洲一区二区三区在线观看| 最近免费中文字幕视频2019| 国产亚洲精品激情久久| 国产成人97精品免费看片| 亚洲欧美中文日韩在线| 亚洲最大成人在线| 亚洲电影免费在线观看| 日韩综合视频在线观看| 亚洲第一在线视频| 亚洲最大成人在线| 精品国产老师黑色丝袜高跟鞋| 亚洲福利精品在线| 欧美丝袜美女中出在线| 亚洲尤物视频网| 色综合五月天导航| 一本一本久久a久久精品综合小说| 国产一区二区免费| 久久久国产精彩视频美女艺术照福利| 欧美日韩在线一区| 黑人巨大精品欧美一区二区三区| 68精品国产免费久久久久久婷婷| 91精品国产亚洲| 国产精品高潮呻吟久久av无限| 久久亚洲精品小早川怜子66| 亚洲国产精品网站| 久久精品99久久久久久久久| 美日韩精品视频免费看| 亚洲天堂免费视频| 久久国产精品99国产精| 欧美日韩免费观看中文| 欧美另类精品xxxx孕妇| 91在线视频导航| 久久露脸国产精品| 久久久久国产精品www| 久久91亚洲精品中文字幕奶水| 爽爽爽爽爽爽爽成人免费观看| 国产精品久久久久不卡| 亚洲欧美日韩成人| 日韩人在线观看| 国产精品白嫩初高中害羞小美女| 中文字幕日韩在线视频| 欧美精品在线观看91| 日韩一区二区福利| 久久久久久中文| 96sao精品视频在线观看| 疯狂做受xxxx高潮欧美日本| 国产成人精彩在线视频九色| 欧美激情在线有限公司| 日韩视频在线一区| 北条麻妃在线一区二区| 亚洲摸下面视频| 欧美性xxxx| 成人妇女淫片aaaa视频| 日韩免费高清在线观看| 亚洲精品国产综合久久| 国产精品久久久久久av下载红粉| 欧美成人亚洲成人日韩成人| 久久99青青精品免费观看| 亚洲www视频| 欧美亚洲成人网| 亚洲网站在线播放| 久久亚洲精品成人| 国产偷亚洲偷欧美偷精品| 成人亚洲激情网| 91免费精品国偷自产在线| 精品人伦一区二区三区蜜桃免费| 欧美性高潮床叫视频| 亚洲欧美日韩国产中文专区| 精品中文字幕在线2019|