【发布时间】:2018-08-16 02:58:38
【问题描述】:
目前我正在尝试运行一个 for 循环,该循环表示为数组中的每个 JSON 对象创建一个 axios post 调用并将其添加到数组中。然后我使用 Axios.all 一次调用它们。我遇到的问题是每个 post 调用的 JSON post 对象都是相同的。
let axiosArray = []
let postData = {}
for (int x = 0; x < numOfItems; x++) {
postData['size'] = shoe.size
postData['color'] = shoe.color
let newPromise = axios({
method: 'post',
url: postShoe,
data: postData
})
.then(responsed => {
console.log('success')
})
.catch(error => {
console.log('error')
})
axiosArray.push(newPromise)
}
axios
.all(axiosArray)
.then(() => {
console.log('submitted all axios calls')
})
.catch(error => {})
它像我想要的那样运行两个 post 调用,但它使用为每个调用提供给 postData 的最后一个值。我想知道是否有一种方法可以将所有数据保存在我创建它时的承诺中,然后在提交时它不仅会使用提供给 postData 的最后一个值。
【问题讨论】:
标签: javascript node.js axios