溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ES6 async、await的基本使用方法的實(shí)例解析

發(fā)布時(shí)間:2020-07-18 10:16:59 來(lái)源:億速云 閱讀:221 作者:小豬 欄目:web開(kāi)發(fā)

這篇文章主要講解了ES6 async、await的基本使用方法的實(shí)例解析,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

本文實(shí)例講述了ES6 async、await的基本使用方法。分享給大家供大家參考,具體如下:

async是異步編程的最新標(biāo)準(zhǔn),我們來(lái)看看async如何使用

1.async的簡(jiǎn)單使用

async function fn () {
 return 'abc'
}
console.log(fn());                    // Promise { 'abc' }
fn().then(res => {
 console.log(res);                    // "abc"
})

async作為關(guān)鍵字放在函數(shù)前面,讓同步的函數(shù)成為異步函數(shù),不關(guān)函數(shù)里返回什么,打印出還是promise,說(shuō)明async還是基于promise的,async的異步方式還是比promise更加簡(jiǎn)單優(yōu)雅的。

2.await的簡(jiǎn)單使用

// 這里模擬一個(gè)耗時(shí)操作
function asyncFunc() {
 return new Promise( resolve => {
  setTimeout(() => {
   resolve(100)
  }, 1000);
 })
}

async function fn () {
 let a = await asyncFunc();
 console.log(a);                    // 100
}

fn()

一秒后打印出了100,async和await搭配使用,await可以接收異步函數(shù),整個(gè)過(guò)程看上去有點(diǎn)像同步代碼,但其實(shí)是異步操作。

我們?cè)趂n()上加上一行代碼

async function fn () {
 let a = await asyncFunc();
 console.log(a);                    // 100
 console.log(200);                    // 200
}

執(zhí)行上面代碼看到兩次都是在暫停一秒打印出來(lái)的,這說(shuō)明await的后面如果是promise(耗時(shí)操作),它會(huì)阻塞整個(gè)函數(shù),下面的代碼不會(huì)執(zhí)行。

看完上述內(nèi)容,是不是對(duì)ES6 async、await的基本使用方法的實(shí)例解析有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI