国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

關(guān)于JavaScript中異步/等待的用法與理解

瀏覽:30日期:2023-06-15 09:02:40

昨天更新的是“JavaScript中的Promise使用詳解”,其實也就是說了下基本用法和自己對Promise的理解,可能有錯誤之處,也歡迎指出。今天就說一說“JavaScript中的async/await的用法和理解”

JavaScript中異步/等待的用法和理解

編程語言中任意一個關(guān)鍵字都是有意義的,我們先從字面意思來理解。

1.async

async 是“異步”的簡寫,帶async關(guān)鍵字的函數(shù),是聲明異步函數(shù),返回值是promise對象,如果async關(guān)鍵字函數(shù)返回的不是promise,會自動用Promise.resolve()包裝。

async function test() { return ’hello word’}test();

運(yùn)行上面代碼返回結(jié)果如下

2.await

await 可以認(rèn)為是 async wait 的簡寫。所以應(yīng)該很好理解 async 用于申明一個 function 是異步的,而 await 用于等待一個異步方法執(zhí)行完成。

如果它等到的不是一個 Promise 對象,那 await 表達(dá)式的運(yùn)算結(jié)果就是它等到的東西。

如果它等到的是一個 Promise 對象,await 就忙起來了,它會阻塞后面的代碼,等著 Promise 對象 resolve,然后得到 resolve 的值,作為 await 表達(dá)式的運(yùn)算結(jié)果。

我們看下面段代碼

function test() { return new Promise(resolve => { setTimeout(() => resolve('hello word'), 2000); });}const result = test();console.log(result.then((val)=>{console.log(val)}));console.log(’結(jié)束’)

我們以編輯器編輯器代碼執(zhí)行順序來理下,

1.首先我們定義一個方法,這個方法返回Promise 對象,.then()函數(shù)兩秒鐘后返回調(diào)用成功。

2.接下來實例化test()函數(shù)。

3.調(diào)用result對象的then()函數(shù),接收返回值,注意,這里是異步的

4.打印日志結(jié)束

我們運(yùn)行代碼,看結(jié)果

看到先打印“結(jié)束”,然后才打印的“hello word”,這就是異步,我們改造下代碼

function test() { return new Promise(resolve => { setTimeout(() => resolve('hello word'), 2000); });}const result = await test();console.log(result);console.log(’結(jié)束’)

用await關(guān)鍵字接test()函數(shù),看這次返回結(jié)果

我們發(fā)現(xiàn)先打印“hello word”,然后才打印“結(jié)束”,由于test()造成的阻塞,console.log(‘結(jié)束’)會等到兩秒后執(zhí)行。

再來說下優(yōu)缺點

優(yōu)點:相對于promise,async/await處理 then 的調(diào)用鏈,代碼要清晰很多,幾乎和同步代碼一樣。

缺點:濫用 await 可能會導(dǎo)致性能問題,因為 await 會阻塞代碼。

總結(jié)

到此這篇關(guān)于JavaScript中異步/等待的用法與理解的文章就介紹到這了,更多相關(guān)JavaScript異步/等待的用法內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 中国胖女人一级毛片aaaaa | 欧美综合视频 | 国产在线91精品 | 香港三级做爰大爽视频 | 国产日韩一区二区三区在线观看 | 久久精品视频在线观看 | 国内国产真实露脸对白 | 欧美做爰xxxⅹ性欧 欧美做爰免费大片在线观看 | 国内精品久久久久影院网站 | 欧美一级特黄aa大片视频 | 亚洲欧洲日韩在线 | 亚洲高清国产一线久久 | 四虎午夜剧场 | 欧美亚洲视频在线观看 | 99视频在线观看视频 | 日韩国产成人精品视频 | 98国内自拍在线视频 | 国产三级精品久久三级国专区 | 日本久久精品视频 | 精品韩国主播福利视频在线观看一 | 久久国产亚洲精品 | 久久精品视频网站 | 亚洲欧美一区二区三区孕妇 | 99久久国产免费中文无字幕 | 免费精品一区二区三区在线观看 | 国内免费视频成人精品 | 国产精品自在欧美一区 | 国产区香蕉精品系列在线观看不卡 | 精品爱爱 | 在线观看国产情趣免费视频 | 日本韩国台湾香港三级 | 一级香蕉免费毛片 | 欧美成视频无需播放器 | 九九精品成人免费国产片 | 久久99久久99精品免观看 | 高清国产美女一级a毛片录 高清国产亚洲va精品 | 欧美国产日本 | 9191久久久久视频 | 偷拍精品视频一区二区三区 | 日韩欧美亚洲中字幕在线播放 | 国产精品色综合久久 |