相信大家都会遇到一种情况,多个请求并发执行,但现在的需求是要在一个请求或多个请求之后再调用某一个未知函数,这就需要用到es6的Promise对象和async函数了
活不多说,直接上demo,套用即可
//模拟ajax异步操作1
function ajax1() {
const p = new Promise((resolve, reject) => {
setTimeout(function() {
resolve('ajax 1 has be loaded!')
}, 1000)
})
return p
}
//模拟ajax异步操作2
function ajax2() {
const p = new Promise((resolve, reject) => {
setTimeout(function() {
resolve('ajax 2 has be loaded!')
}, 2000)
})
return p
}
//等待两个ajax异步操作执行完了后执行的方法
async function myFunction() {
const x = await ajax1()
console.log(x)
const y = await ajax2()
//等待两个异步ajax请求同时执行完毕后打印出数据
console.log(x, y)
}
另外这样写是存在兼容性问题的
复制代码
解决办法链接
www.cnblogs.com/lguow/p/103…