Javascript 无法在promise chain取得进展?
我有一个需要for循环的多个帖子,我想向用户显示一个进度条。当有一个帖子时,它可以正常工作,我可以看到上传进度,但是如果我尝试使用for循环多次发布,则无法访问onUploadProgress事件,甚至console.log(progressEvent)也不会返回任何结果。我正在使用nuxt框架Javascript 无法在promise chain取得进展?,javascript,vue.js,axios,nuxt.js,Javascript,Vue.js,Axios,Nuxt.js,我有一个需要for循环的多个帖子,我想向用户显示一个进度条。当有一个帖子时,它可以正常工作,我可以看到上传进度,但是如果我尝试使用for循环多次发布,则无法访问onUploadProgress事件,甚至console.log(progressEvent)也不会返回任何结果。我正在使用nuxt框架 async post() { this.upload.open = true; let promises = []; let tuc = this.slider_items; con
async post() {
this.upload.open = true;
let promises = [];
let tuc = this.slider_items;
const len = tuc.length;
this.upload.queue = len; //total post count
for (let i = 0; i < len; i++)
let formData = new FormData();
/*
* ...
*/
formData.append("cover", cover);
formData.append("_method", "PUT");
promises.push(
this.$axios
.$post(`/api/admin/slides/${i + 1}`, formData, config)
.then((res) => this.upload.curr_queue++) //which post right now
.catch((err) => {
if (!err) {
return;
}
const { errors } = err.response.data;
this.upload.err.push(err);
this.upload.err_res.push(Object.values(errors));
})
);
}
const config = {
headers: { "Content-Type": "multipart/form-data" },
onUploadProgress: (progressEvent) => {
this.upload.percentage = parseInt(
Math.round((progressEvent.loaded * 100) / progressEvent.total)
); /// this is loading screen's progress bar, showing upload percentage
console.log(progressEvent); /// Cant see that
},
};
await Promise.all(promises).then((res) =>
console.log("promises : " + res)
);
},
async post(){
this.upload.open=true;
让承诺=[];
设tuc=this.slider\u项;
const len=tuc.长度;
this.upload.queue=len;//帖子总数
for(设i=0;ithis.upload.curr_queue++)//现在是哪篇文章
.catch((错误)=>{
如果(!err){
返回;
}
const{errors}=err.response.data;
this.upload.err.push(err);
this.upload.err_res.push(Object.values(errors));
})
);
}
常量配置={
标题:{“内容类型”:“多部分/表单数据”},
onUploadProgress:(progressEvent)=>{
this.upload.percentage=parseInt(
数学圆((progressEvent.loaded*100)/progressEvent.total)
);///这是加载屏幕的进度条,显示上载百分比
console.log(progressEvent);///我看不到
},
};
等待承诺。所有(承诺)。然后((res)=>
log(“承诺:+res”)
);
},
我想做的是,有一个单独的进度条,我想按帖子的顺序显示上传进度百分比,当帖子成功时,这将增加upload.curr_队列和上传进度百分比,并用新帖子重新启动
如果你们想看完整的邮政编码,我可以编辑这个部分。基本上我无法理解为什么我无法访问onUploadProgress事件。最好在顶部声明您的
config
,而不是在axios函数下。通常你会遇到一个错误,在初始化之前无法访问'config'
@Ifaruki非常感谢。我在这个问题上浪费了2天的时间,用尽一切办法寻求帮助,但你是第一个尝试帮助的人,而且你的帮助很有效!非常感谢你,先生!我所需要做的就是将配置带到顶部…下次按F12键并检查您的控制台是否有错误我做了,但没有错误,我认为这个问题源于promise.all用法