async(异步)修饰的函数:函数返回值为promise对象;Promise实例的结果由async函数执行的返回值决定。
await(等待)表达式:右侧一般为Promise实例对象,但也可以是其他的值;
如果表达式是Promise实例对象,await后的返回值是promise成功的值;
如果表达式是其他的值,直接作为返回值输出。
注意:
await必须在async函数中,但是async函数中可以没有await;
如果await的promise对象失败了,就会抛出异常,需要通过try...catch来捕获异常。
async配合await这种写法,浏览器底层也是用.then做了回调函数。