gpt4 book ai didi

javascript - 数据在函数中使用之前更改

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

我一直在尝试为数据库中的每张过期票证发送一封电子邮件。它的片段如下所示:

for (var i = 0; I < rows.length; ++i) {
if (today > new Date(rows[i].end_date)) {
(function(id) {
db.exec('update tickets ' +
'set status="expired" ' +
'where ticket_id= ' + id + ';' +
'insert into changes ' +
'values(' + id + ',' +
'"system",' +
'"ticket expired",' +
'"' + (today.getUTCMonth() + 1) +
'/' + today.getUTCDate() +
'/' + today.getUTCFullYear() +
'");',
function(err) {
if (err) {
console.log(err);
return;
}

console.log(id);
sendAlert(id);
}
);
})(rows[i].ticket_id);
}
}

正如您所看到的,我尝试使用匿名函数来防止每次调用中的数据发生更改,但它仍然不起作用。

我不知道我是否遗漏了一些东西。

最佳答案

看来这个任务的执行是异步的。当需要迭代异步调用时,不保证操作顺序。

也许您需要一些控制流库,例如 AsyncPromise 。即使在迭代中,也有一些方法可以控制这些流程。

关于javascript - 数据在函数中使用之前更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42256827/

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