gpt4 book ai didi

javascript - 在提交 redux 表单时循环 axios post 获取多个值

转载 作者:行者123 更新时间:2023-12-03 00:12:10 24 4
gpt4 key购买 nike

在此处输入代码,其中包含我想要在 redux 表单提交上将每个值发布到 axios api 的复选框的表单列表,在下面的代码中我显示了提交功能,

值={示例1:true,示例2:true,示例3:false,示例4:true}我的代码中的预期输出打印每个键然后发布它但现在它这样做将执行循环和控制台(example1,....,example4),此后将为同一个键调用帖子 4 次

submit(values) {
let data={
"status":"INVITED",
"buyerId": localStorage.getItem("companyId"),
"joinType": "B",
"supplierId": ""
}
for (var key in values) {
if (values[key]) {

data.supplierId=key
console.log(key)
postWithAuth("networkmgtservice/api/networks",data).then((response) => {
let status=response.data.statusCode;
if(status="000"){
console.log(key)
$(`#${keyVar}`).html("Successfully sent")
}
else if(status=="999"){

$(`#${keyVar}`).html(response.data.errorDescription)
}
})
.catch((error) => {
console.log(error)
})
}

最佳答案

当您在循环内执行异步任务时,不要使用 var 声明循环变量,因为 var 声明的变量不会保持其状态并更新为循环中的最后一个值因为循环总是比 API 调用更快,因此循环变量将仅保留映射中最后一项的值。相反,使用 let 来声明循环变量,因为它们维护状态。

submit(values) {
let data={
"status":"INVITED",
"buyerId": localStorage.getItem("companyId"),
"joinType": "B",
"supplierId": ""
}
for (let key in values) {
if (values[key]) {
let requestData = {...data};
requestData.supplierId=key
console.log(key)
postWithAuth("networkmgtservice/api/networks",requestData)
.then((response) => {
let status=response.data.statusCode;
if(status="000"){
console.log(key)
$(`#${keyVar}`).html("Successfully sent")
}
else if(status=="999"){
$(`#${keyVar}`).html(response.data.errorDescription)
}
})
.catch((error) => {
console.log(error)
})
}
}

关于javascript - 在提交 redux 表单时循环 axios post 获取多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com