色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

關于JavaScript中異步/等待的用法與理解

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

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

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

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

1.async

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

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

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

2.await

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

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

如果它等到的是一個 Promise 對象,await 就忙起來了,它會阻塞后面的代碼,等著 Promise 對象 resolve,然后得到 resolve 的值,作為 await 表達式的運算結(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é)束

我們運行代碼,看結(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關鍵字接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 可能會導致性能問題,因為 await 會阻塞代碼。

總結(jié)

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

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 亚洲不卡在线观看 | 亚洲综合成人网 | 自偷自偷自亚洲永久 | 黄色成人免费观看 | 91欧美精品综合在线观看 | 欧美大片一区二区三区 | 成人国产精品一级毛片了 | 国产欧美日韩不卡在线播放在线 | 亚洲欧美一级视频 | 7m视频精品凹凸在线播放 | 成人久久久观看免费毛片 | 成人综合在线观看 | 欧美一区二区三区在观看 | 最新黄网 | 美国亚洲成年毛片 | 亚洲综合无码一区二区 | 久久成人免费网站 | 亚洲第一综合网站 | 久热香蕉在线视频 | 午夜性爽爽爽 | 亚洲深夜福利视频 | 久久久久久久久久久久久久久久久久 | 日本一区二区三区在线 视频 | 日韩一区二区天海翼 | 国产精品美女久久福利网站 | 成人做爰毛片免费视频 | 久久青草免费免费91线频观看 | 日本在线免费观看视频 | 韩国黄色一级毛片 | av片免费大全在线观看不卡 | 日本三级香港三级网站 | 很黄很色的免费视频 | 国产精品综合久成人 | 亚洲视频毛片 | 国内精品久久久久久久久 | 国产三区二区 | 日本a级片免费看 | 99在线精品视频免费观里 | 日本在线网 | 亚洲高清国产品国语在线观看 | 午夜三级国产精品理论三级 |