vue for循环调用axios 根据返回数据创建新数组延迟问题
let mindex = 0 ;
let sum = this.multipleSelection.length ;
let successNum = 0 ;
for(const item of this.multipleSelection){
jokeNum++
axios
.get(MODULE_PATH.GAL_PATH + '/init-rule/init',{
params:{
admCode:item.admCode,
eleCode:item.eleCode,
fiscal:this.fiscal
}
})
.then(({ data,code }) => {
flag = true
if(code=='200'){
successNum++
console.log(successNum) // 后打印
}else{
failNum++;
console.log(failNum)
}
})
.catch((err) => {
this.$message({
type: 'error',
message: err.msg
});
});
}
console.log(jokeNum)
console.log(flag)
console.log(this.successNum) //先打印出来了
代码如上,在一个for循环里面发出请求,然后根据返回的数据将符合条件的数据存到一个新变量,但是目前在for循环结束以后,先打印了,新变量还是空的,在for循环条件判断那里反而是最后打印的,求指教如何才能在循环结束以后拿到正确的新变量?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
async/await 了解一下
你这是异步请求,可以去了解下Event Loop
关于这个场景,可以使用
了解一下多个请求并发 axios.all()