async 和 await

一開始看書上的介紹,寫了好多頁,還有 * 號,嚇得我都沒敢看。
后來發(fā)現(xiàn)我可以先不去看理論,選學(xué)會如何使用不久行了嗎?

于是發(fā)現(xiàn)了,返回Promise的函數(shù),都可以使用await。

而 await 是等待的意思,既然這樣那么就需要一個等待的范圍,因?yàn)槿绻辉O(shè)定一個范圍的話,那么就變成“假死”了。這不符合 js 的初衷。

而這個設(shè)定的范圍就是 async。

比如我們可以這樣寫:


function fun1() {
  return new Promise((resolve, reject) => {
    resolve('aa')
  }
}

async function foo() {
    const aa = await fun1()
}

foo()

基本就是這樣。

另外發(fā)現(xiàn)一個問題,就是不能套娃。

Promise 可以變成 await,但是內(nèi)部卻不能用await,用了就會報錯。

也許是因?yàn)闊o法限定等待范圍吧。

總之,現(xiàn)在基本會用了,有空再去研究原理。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容