1)async返回一个promise对象
methods: {
async testAsync () {
return "hello async"
}
},
mounted () {
const result = this.testAsync();
console.log(result);
}
2)async的内容靠.then输出
methods: {
async testAsync () {
return "hello async"
}
},
mounted () {
this.testAsync().then(res => {
console.log(res)
})
}
3)await在等待async函数的返回值
如果它等到的不是一个 Promise 对象,那 await 表达式的运算结果就是它等到的东西。
如果它等到的是一个 Promise 对象,await 就忙起来了,它会阻塞后面的代码,等着 Promise 对象 resolve,然后得到 resolve 的值,作为 await 表达式的运算结果。
methods: {
axios1 () {
return new Promise((resolve, reject) => {
setTimeout(() => {
let abc = '我是5000接口一'
resolve(console.log(abc))
}, 5000)
})
},
axios2 () {
return new Promise((resolve, reject) => {
setTimeout(() => {
let abc = '我是3000接口二'
resolve(console.log(abc))
}, 3000)
})
},
axios3 () {
return new Promise((resolve, reject) => {
setTimeout(() => {
let abc = '我是1000接口三'
resolve(console.log(abc))
}, 1000)
})
},
async yibu () {
await this.axios1() // 成功之后再执行后面的代码
this.axios2()
this.axios3()
}
},
mounted () {
this.yibu()
}