乐趣区

关于es6:async函数返回值

methods: {start () {console.log(this.test()) // Promise {<fulfilled>: 123}
  },
  async test () {
    return 123
    // return Promise.resolve(123)
    // return new Promise((res, rej) => {//     res(123)
    // })
  }
}

如果间接执行 this.test()(不论间接 return 123 还是 return Promise.resolve(123)),都将返回 Promise 对象(会被包装为一个立刻 resolve 的 Promise 对象);

拿到 return 值的形式:
1.Promise.then

start () {this.test().then(res => {console.log(res) // 123
  })
}

2.async-await

async start () {console.log(await this.test()) // 123
}
退出移动版