一开始看书上的介绍,写了好多页,还有 * 号,吓得我都没敢看。
后来发现我可以先不去看理论,选学会如何使用不久行了吗?
于是发现了,返回Promise的函数,都可以使用await。
而 await 是等待的意思,既然这样那么就需要一个等待的范围,因为如果不设定一个范围的话,那么就变成“假死”了。这不符合 js 的初衷。
而这个设定的范围就是 async。
比如我们可以这样写:
function fun1() {
return new Promise((resolve, reject) => {
resolve('aa')
}
}
async function foo() {
const aa = await fun1()
}
foo()
基本就是这样。
另外发现一个问题,就是不能套娃。
Promise 可以变成 await,但是内部却不能用await,用了就会报错。
也许是因为无法限定等待范围吧。
总之,现在基本会用了,有空再去研究原理。
网友评论