一開始看書上的介紹扩所,寫了好多頁(yè)围详,還有 * 號(hào),嚇得我都沒(méi)敢看祖屏。
后來(lái)發(fā)現(xiàn)我可以先不去看理論助赞,選學(xué)會(huì)如何使用不久行了嗎?
于是發(fā)現(xiàn)了赐劣,返回Promise的函數(shù),都可以使用await哩都。
而 await 是等待的意思魁兼,既然這樣那么就需要一個(gè)等待的范圍,因?yàn)槿绻辉O(shè)定一個(gè)范圍的話漠嵌,那么就變成“假死”了咐汞。這不符合 js 的初衷。
而這個(gè)設(shè)定的范圍就是 async儒鹿。
比如我們可以這樣寫:
function fun1() {
return new Promise((resolve, reject) => {
resolve('aa')
}
}
async function foo() {
const aa = await fun1()
}
foo()
基本就是這樣化撕。
另外發(fā)現(xiàn)一個(gè)問(wèn)題,就是不能套娃约炎。
Promise 可以變成 await植阴,但是內(nèi)部卻不能用await蟹瘾,用了就會(huì)報(bào)錯(cuò)。
也許是因?yàn)闊o(wú)法限定等待范圍吧掠手。
總之憾朴,現(xiàn)在基本會(huì)用了,有空再去研究原理喷鸽。