关于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
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理