async 和 await

一开始看书上的介绍,写了好多页,还有 * 号,吓得我都没敢看。
后来发现我可以先不去看理论,选学会如何使用不久行了吗?

于是发现了,返回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,用了就会报错。

也许是因为无法限定等待范围吧。

总之,现在基本会用了,有空再去研究原理。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容