async function

99 阅读1分钟

async 函数

  1. 函数的返回值为 Promise 实例对象。
  2. Promise 实例对象的结果由 async 函数执行的返回值决定。
    async function fun() {
        return value
    }

await 表达式

  1. await 的右侧的表达式一般为 promise 对象,但也可以是其他类型数据
  2. 如果表达式是 Promise 对象,awwit返回的是Promise对象成功的值,而失败的状态可以由 catch 去捕获
  3. 如果表达式是其他值,则直接作为 await的返回值
  4. 且 await 必须写在 async 函数中,但 async 函数中可以没有 await
  5. 如果 async 的Promise失败,就会抛出异常,通过 try...catch... 捕获
    async function fun() {
        try() {
            let res = await new Promise(() => {})
        } catch(err) {
            // 捕获错误
        }
    }