gpt4 book ai didi

angularjs - 尝试使用 Sequelize 在循环中从数据库中删除多个值时出错

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

我正在尝试删除用户在循环中选择的值。

        for (var i = 0; i < myArray.length; i++) {
MyService.myMapService.delete({id: myArray[i].myId }, myArray[i], function (response) {
if (response.isSuccessful) {
MyService.removeMyValue(myArray[i].myId);
}
})
}

但是,我不断收到以下错误

angular.js:13920 TypeError: Cannot read property 'myId' of undefined



请帮忙!

最佳答案

发生的事情是,您的 for 循环正在为所有 MyService.myMapService.delete 函数调用执行,而您的 i 正在变成 myArray.length 。当 myMapService.delete 异步调用完成后,它会尝试执行 myArray[i].myId(其中 i 是数组长度,那么 myArray[i] 将是未定义的)。在这种情况下,您必须通过将其包装到自执行函数来保留值。

代码

for (var i = 0; i < myArray.length; i++) {
(function(j) {
MyService.myMapService.delete({
id: myArray[j].myId
}, myArray[j], function(response) {
if (response.isSuccessful) {
MyService.removeMyValue(myArray[j].myId);
}
})
})(i);
}

关于angularjs - 尝试使用 Sequelize 在循环中从数据库中删除多个值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40417698/

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