本文主要是介绍vue在多方法执行完后再执行另一个方法(等待请求完数据再执行)async/await使用方法和Promise.all,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
vue在一个方法执行完后执行另一个方法
用Promise.all来实现。
Promise是ES6的新特性,用于处理异步操作逻辑,用过给Promise添加then和catch函数,处理成功和失败的情况
ES7中新提出async搭配await,建议使用async搭配await。
function fun1(){return new Promise((resolve, reject) => {/* 你的逻辑代码 */console.log("1");});
},
function fun2(){return new Promise((resolve, reject) => {/* 你的逻辑代码 */console.log("2");});
},
function fun3(){return new Promise((resolve, reject) => {/* 你的逻辑代码 */console.log("3");});
},
/* 调用 */
function run(){Promise.all([this.fun1(),this.fun2(),this.fun3()]).then(res => {/* 你的逻辑代码 */console.log("run");})
}
async/await使用方法
//示例1async function testSync() {const response = await new Promise(resolve => {setTimeout(() => {resolve("async await test...");}, 1000);});console.log(response);}testSync();//async await test...//示例2async getScheduleList(selectDate) {let response;// 这里request为向服务的发请求的方法await request(api.getScheduleList, {date: selectDate}).then(res => {response = res;});return response
}init() {this.getScheduleList(selectDate).then(res => {console.log(res)})
}//示例3swichMenu: async function() {//点击其中一个 menuconst num = await getNum()return num
}swichMenu().then(res => {console.log(res)
})
这篇关于vue在多方法执行完后再执行另一个方法(等待请求完数据再执行)async/await使用方法和Promise.all的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!