async与await的简单理解

70 阅读1分钟

async(异步)修饰的函数:函数返回值为promise对象;Promise实例的结果由async函数执行的返回值决定。

image.png

await(等待)表达式:右侧一般为Promise实例对象,但也可以是其他的值;

如果表达式是Promise实例对象,await后的返回值是promise成功的值;

image.png

如果表达式是其他的值,直接作为返回值输出。

image.png

注意:

await必须在async函数中,但是async函数中可以没有await;

如果await的promise对象失败了,就会抛出异常,需要通过try...catch来捕获异常。

image.png

async配合await这种写法,浏览器底层也是用.then做了回调函数。