这里说两种方式,和官网的上的是一样的:
第一种使用: async+ 立即执行函数
<div>方法一:async ()() 立即执行函数: {{doAsyncData.desc}}</div>
doAsync () {
const f = () => {
return 'my '
}
// f()是同步函数的情况
// (async () => f())();
// f()是异步函数情况
(async () => f())()
.then((res) => {
this.doAsyncData.desc = res + 'name is mayouchen'
}).catch((err) => {
console.log(err)
})
console.log('doAsync...next')
}
第二种使用: 使用promise处理
<div>方法二:promise的实现:{{doAsyncData.desc2}}</div>
doPromise2 () {
//(1)使用普通的promise方式
const f = () => {
return 'you '
}
(() => new Promise(
resolve => resolve(f())
))()
console.log('doAsync...after')
// (2)使用Promise.try的方式
let promise = Promise.try(() => {
// 调用接口请求
return 'my name is '
})
promise.then((res) => {
this.doAsyncData.desc2 = `${res} Liming`
}).catch(err => {
console.log(err)
})
}