如何解决Axios 在 foreach
我有一个对象数组,单击单个按钮时需要将这些对象存储在数据库中。因此,我使用了 foreach 循环并在循环内进行了 AXIOS POST。 AXIOS 存储相同的信息/对象。数组的所有对象都没有保存有什么解决办法。
let arr = [
{
name:'abc',co: 1
},{
name:'def',co: 2
},{
name:'ghi',co: 3
},];
let fd = new FormData();
arr..forEach((element) => {
fd.append("name",element.name);
fd.append("co",element.co);
this.$http.post("po",fd,{ headers: {
"Content-Type": "multipart/form-data",},.then((res) => {
console.log(res.data);
})
.catch((err) => {
console.log(err);
});
});
按如下方式映射数组时。发生错误cannot read property co of undefined
let element= this.formlist.map((obj) => obj);
// appending data
// axios POST
它只保存最后一个对象。我想要的是每个对象都应该存储
解决方法
我犯的错误是将 Axios 放在 foreach 中,每次循环时都会覆盖对象,因此只存储最后一项。工作解决方案如下
save() {
this.StoreMulti(this.arr,0);
}
StoreMulti(arr,i){
this.$http.post("po",fd,{ headers: {
"Content-Type": "multipart/form-data",},.then((res) => {
if (i < arr.length - 1) {
this.StoreMulti(arr,++i);
}
onsole.log(res.data);
})
.catch((err) => {
console.log(err);
});
}
这个通过一个一个发送POST请求来存储整个数组
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。