关于 async/await 网上有一大推说发,看得大家多头皮发麻,其实刚开始学,不需要了解他特别详细的原理,当你学会初步使用,你遇到的问题越来越多,随着问题去找答案,这样会理解和了解的更加深刻。
async 的用法
async function testAsync() {
return "hello async";
}
const result = testAsync();
console.log(result);
执行 testAsync 会返回 promise 结构的之,这一步,大家去编辑器上尝试一下,记住会返回promise值就行了。
//结果
Promise { 'hello async' }
还有一种使用方法,返回 promise结构,那么也是可以使用then来接收 ,记住这种方式。
async function testAsync() {
return "hello async";
}
testAsync().then(v => {
console.log(v); // 输出 hello async
});
下面我有一个业务,就是3个判断依次执行,大家看看这该这么写。
1,await 表示在这里等待 await 后面的操作执行完毕,再执行下一句代码(j记住这一句话)
可能有点专业,我给大家总结一套.
看下面代码 (大家尝试打印一下记忆会更加深刻)
result 走完才走 result2
result2 走完才走 result3
mounted(){
this.testAsync()//初始化执行testAsync方法
},
methods:{
async testAsync() {
let result=await this.test1();
let result2=await this.test2(result);
let result3=await this.test3(result2);
console.log('result2---',result3)
},
test1(){
console.log('我是test1')
return {data:'1',data2:'2'}
//result 接收返回的结构
},
test2(data){
console.log('我是test2')
if(data.data==1){
return {data:'2',data2:'3'}
//result1 接收返回的结构
}
},
test3(data){
console.log('我是test3')
if(data.data==2){
return {data:'3',data2:'4'}
//result2 接收返回的结构
}
}
}
不知道本人这样说的好不好,请加大家多多指教。
这是执行的结果图片
网友评论