提问人:noobSoloDeveloper 提问时间:12/1/2020 更新时间:12/1/2020 访问量:41
执行帖子的 Javascript 循环,但它只执行循环中的最后一个值
Javascript loop that executes a post but it only executes the last value from the loop
问:
我正在尝试执行多个 id 并将其添加到要执行的对象中。所以这是来自一个事件按钮函数:
{
for(var i =0; i< selectrows.length; i++){
Action["trackid"] = selectrows[i].innerText.replace(/(^\d+)(.+$)/i, '$1');
researchService.postExecuteAction(Action)
.then(function(result){
},function error(result){
});
}
}
例如,trackid 是 111、112、113。 它只会执行 trackid 113 三次。 我也想执行 111、112。我尝试了许多不同的闭包方法来处理这些问题,但没有奏效。我可能做错了什么。请帮忙。谢谢。
答:
-1赞
Arwed Mett
12/1/2020
#1
可能是因为您在同一对象上重新分配了 Action[“trackid”]。
执行如下操作:
{
for(var i =0; i< selectrows.length; i++){
const action = { ...Action }
action["trackid"] = selectrows[i].innerText.replace(/(^\d+)(.+$)/i, '$1');
researchService.postExecuteAction(action)
.then(function(result){
},function error(result){
});
}
}
评论
0赞
Arwed Mett
12/1/2020
@noobSoloDeveloper 我是不是错过了什么,或者你为什么要对正确答案投反对票?
0赞
Arwed Mett
12/1/2020
确保将所有“操作”更改为“操作”
0赞
Ivar
12/1/2020
投票是匿名的,所以我不能告诉你谁投票了。但我可以告诉你,它不是 noobSoloDeveloper,因为你至少需要 125 个声誉才能投反对票。
0赞
Arwed Mett
12/1/2020
啊好吧,奇怪的人:)
0赞
noobSoloDeveloper
12/2/2020
@ArwedMett 谢谢,这是正确的。调试后,它现在传递正确的操作值。但是,我的循环仍然多次只执行最后一个值。
评论
postExecuteAction
用 3 个不同的 .“它只会执行 trackid 113 三次”是什么意思?您是否正在访问回调内部?trackid
Action["trackid"]
.then()