async 与 await
async 函数
函数的返回值为 promise 对象 ,promise 对象的结果由 async 函数执行的返回值决定(成功的时候传入的值),如果没有在async函数中写return,那么Promise对象resolve的值就是undefined
await 表达式
await 右侧的表达式一般为 promise 对象, 但也可以是其它的值
如果不是 promise , await会阻塞后面的代码,先执行async外面的同步代码,同步代码执行完,再回到async内部,把这个非promise的东西,作为 await表达式的结果。
如果是 promise 对象,await 也会暂停async后面的代码,先执行async外面的同步代码,等着 Promise 对象 fulfilled,然后把 resolve 的参数作为 await 表达式的运算结果。
await 必须写在 async 函数中, 但 async 函数中可以没有 await
如果 await 的 promise 失败了, 就会抛出异常, 需要通过 try…catch 捕获处理
function test1() {