async表示函数里有异步操作,await表示紧跟在后面的表达式需要等待结果。
async 表示这是一个async函数,await只能用在这个函数里面。
await 表示在这里等待promise返回结果了,再继续执行。
await 后面跟着的应该是一个promise对象
await等待的虽然是promise对象,但不必写.then(..),直接可以得到返回值。
捕捉错误
既然.then(..)不用写了,那么.catch(..)也不用写,可以直接用标准的try catch语法捕捉错误。
await 只能出现在 async 函数中。
1 | async function testAsync() { |
返回值是一个 promise对象
引用别人一段话
联想一下 Promise 的特点——无等待,所以在没有 await 的情况下执行 async 函数,它会立即执行,返回一个 Promise 对象,并且,绝不会阻塞后面的语句。这和普通返回 Promise 对象的函数并无二致。
原文链接