日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript實現串行請求的示例代碼

瀏覽:139日期:2023-10-13 16:33:33

使用async和await

var fn = async function(promiseArr) { for(let i = 0,len = arr.length; i<len; i++) { currentPromise = (promiseArr[i] instanceOf Promise) ? promiseArr[i] : Promise.resolve(promiseArr[i]); var result = await currentPromise; console.log(result) } } fn(arr)

Promise實現

依照 promises 規范,一旦一個 promise 被創建,它就被執行了。如果then方法里返回的是一個promise對象,那么執行下一個then 的時候必定是在上一個then執行完之后執行。

關鍵點在于then的時候再創建

var createPromise = function(time) { return (resolve, reject)=> { return new Promise((resolve, reject)=>{ setTimeout(()=>{ console.log(’timein’+time) resolve(); }, time*1000) }) }}function serpromise(arr) { arr.reduce((pre, next, index, carr)=>{ return pre.then(next) }, Promise.resolve())}var arr=[createPromise(2),createPromise(1),createPromise(3),createPromise(4),createPromise(5)];// 相當于// Promise.resolve().then(createPromise(2)).then(createPromise(1))......serpromise(arr)

Array.prototype.reduce + async/await 版本

const reduceAsync = ( arr ) => { arr.reduce( async ( prev, curr ) => { const { rep } = await prev; const obj = await promise( curr, rep ); console.log( obj ); return obj; }, Promise.resolve( {} ) );};

Array.prototype.reduce + Promise 版本

const reducePromise = ( arr ) => { arr.reduce( ( prev, curr ) => { return prev.then( data => { return new Promise( ( resolve, reject ) => { promise( curr, data.rep ).then( res => { console.log( res ); resolve( res ); } ); } ); } ); }, Promise.resolve( {} ) );};

# 執行結果{ req: ’PM:04:49:08’, rep: ’PM:04:49:11’, item: 1 }{ req: ’PM:04:49:11’, rep: ’PM:04:49:14’, item: 2 }{ req: ’PM:04:49:14’, rep: ’PM:04:49:17’, item: 3 }{ req: ’PM:04:49:17’, rep: ’PM:04:49:20’, item: 4 }

Array.prototype.map + Promise 版本

const mapPromise = ( arr ) => { let temporary = Promise.resolve( {} ); arr.map( ( item, index ) => { temporary = temporary.then( ( data ) => { if (i !== 0) { // 第一個初始promise console.log( data ); } return promise( item, data.rep ); } ); } ); // 最后一個promise temporary.then( data => console.log( data ) );};

用 map 遍歷時,需要過濾初始promise的返回值,并且在遍歷結束后,需手動執行最后以后一個promise,否則就會變成如下結果

# 執行結果{}{ req: ’PM:04:49:08’, rep: ’PM:04:49:11’, item: 1 }{ req: ’PM:04:49:11’, rep: ’PM:04:49:14’, item: 2 }{ req: ’PM:04:49:14’, rep: ’PM:04:49:17’, item: 3 }

以上結果明顯不是我們所需要的,但是需要手動過濾第一個promise和執行最后一個promise,會增項不必要的代碼量和出錯率 后將 mapPromise 修改如下,其原理和Array.prototype.reduce+Promise版本類似

const mapPromise = ( arr ) => { let temporary = Promise.resolve( {} ); arr.map( ( item, index ) => { temporary = temporary.then( ( data ) => { // if (i !== 0) { // // 第一個promise // console.log( data ); // } return new Promise( ( resolve, reject ) => { promise( item, data.rep ).then( data => { console.log( data ); resolve( data ); } ); } ); } ); } ); // 最后一個promise // temporary.then( d => console.log( d ) );};

其他

Array.prototype.forEach、Array.prototype.filter、Array.prototype.some、Array.prototype.every等方法和Array.prototype.map類似,就不過多贅述

以上就是JavaScript實現串行請求的示例代碼的詳細內容,更多關于JavaScript實現串行請求的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲婷婷在线| 国产精品伦一区二区| 日本91福利区| 精品国产中文字幕第一页| 国产福利亚洲| 先锋亚洲精品| 亚洲二区视频| 久久国产生活片100| 亚洲精品成人| 国产视频一区二| 牛牛精品成人免费视频| 日韩午夜精品| 亚洲午夜天堂| 日本午夜精品久久久久| 伊人成人在线视频| 日韩高清中文字幕一区| 欧美日韩一区二区综合| 国产日韩欧美一区| 亚洲永久字幕| 国产精品精品| 国产精品99久久免费| 中文无码久久精品| 免费观看不卡av| 日韩中文欧美| 日本免费在线视频不卡一不卡二| 最新日韩av| 亚洲一级高清| 欧洲毛片在线视频免费观看| 日本少妇一区| 亚洲在线观看| 亚洲麻豆一区| 国精品产品一区| 狠狠爱成人网| 国产精品一区二区三区美女| 麻豆91精品91久久久的内涵| 91看片一区| 欧美一级网站| 久久婷婷久久| 免费在线观看一区| 亚洲欧美久久| 日韩大片在线播放| 欧美日韩亚洲一区在线观看| 欧美一区二区三区高清视频| 国产伦精品一区二区三区千人斩 | 精品国产第一福利网站| 在线国产日韩| 久久亚洲成人| 国产成人免费视频网站视频社区| 亚洲久久视频| 欧美女激情福利| 麻豆理论在线观看| 久久精品一区| 精品久久久网| 精品一区二区男人吃奶| 欧美日韩亚洲一区二区三区在线| 国产精品一区毛片| 精品亚洲成人| 久久av在线| 国产三级一区| 国产精品久久久久久久免费观看| 日韩免费av| 免费精品视频在线| 激情久久一区二区| 亚洲精品日韩久久| 国产精品欧美一区二区三区不卡| 久久精品资源| 国产中文欧美日韩在线| 高清久久精品| 亚洲综合在线电影| 国产伊人久久| 1000部精品久久久久久久久| 91久久亚洲| 日韩精品一页| 高清在线一区| 自拍日韩欧美| 国产日韩中文在线中文字幕| 久久久久亚洲精品中文字幕| 日韩电影免费网站| 手机精品视频在线观看| 国产日韩一区| 免费国产自久久久久三四区久久 | 91成人在线网站| 午夜欧美精品| 日韩精品一级二级| 免费观看亚洲| 另类小说一区二区三区| 成人在线免费观看网站| 国产在视频一区二区三区吞精| 日韩国产欧美| 亚洲欧美日韩专区| 精品国产一区二区三区av片| 欧美日韩一二三四| 青草国产精品久久久久久| 欧美在线精品一区| 国内亚洲精品| 免费亚洲婷婷| 亚洲欧美日韩一区在线观看| 国产精品mm| 美国三级日本三级久久99| 精品三级av| 日韩高清在线一区| 在线精品视频在线观看高清| 国产66精品| 美女国产一区二区三区| 国产亚洲电影| 欧美激情精品| 欧美日韩尤物久久| 久久青青视频| 国产欧美一级| 成人在线免费观看91| 国产精品2区| 国产精品调教视频| 麻豆91在线播放| 久久av影院| 国产精品国产三级在线观看| 亚洲免费中文| 日韩美女精品| 亚洲精选91| 在线亚洲欧美| 久久亚洲国产| 在线手机中文字幕| 国产日韩一区二区三区在线播放| 午夜精品婷婷| 欧美gv在线| 天堂中文在线播放| 中文在线中文资源| 欧美日韩免费观看一区=区三区| 蜜桃视频在线观看一区二区| 久久精品123| 久久精品国内一区二区三区水蜜桃| 精品中文字幕一区二区三区四区| 国产精品入口久久| 国产亚洲人成a在线v网站 | 99视频精品免费观看| 91精品久久久久久久久久不卡| 高清不卡一区| 日韩一区自拍| av中文资源在线资源免费观看| 精品美女久久| 九九色在线视频| 亚洲电影有码| 五月天激情综合网| 在线精品福利| 欧美日韩亚洲一区在线观看| 国产精品亚洲片在线播放| 久久狠狠久久| 国产盗摄——sm在线视频| 国产麻豆一区二区三区精品视频| 香蕉久久国产| 欧美日韩午夜电影网| 国内不卡的一区二区三区中文字幕| 国产在线日韩精品| 国产aⅴ精品一区二区三区久久| 国产精品久久久久av电视剧| 激情欧美亚洲| 日韩成人在线看| 黄色aa久久| 天堂成人国产精品一区| 国产精品三级| 精品亚洲美女网站| 中文字幕日本一区二区| 国产精品99精品一区二区三区∴| 91精品国产自产在线观看永久∴| 蜜臀精品久久久久久蜜臀| 国产精品入口久久| 欧美在线影院| 在线一区av| 亚洲精品伦理| 久久福利毛片| 国产精品久久久久久久久妇女| 久久精品理论片| 久久高清免费| 日韩毛片视频| 国产精品三p一区二区| 中文视频一区| 亚洲中午字幕| 日韩中文字幕一区二区三区| 免费在线观看日韩欧美| 国产韩日影视精品| 欧美日韩中文一区二区| 久久婷婷亚洲| 午夜久久福利| 亚洲一区欧美| 欧美一级一区| 日本午夜精品视频在线观看| 五月天久久网站| 怡红院精品视频在线观看极品| 欧美在线不卡| 日韩国产欧美在线视频| 国产精品久久久久久模特 | 国产精品久久久一区二区| 91看片一区| 日韩1区2区日韩1区2区| 久久精品青草| 亚洲制服一区| 欧美aa一级| 欧美日韩黄网站| 在线精品视频在线观看高清| 麻豆视频久久| 日本强好片久久久久久aaa|