gpt4 book ai didi

javascript - 如何将参数传递给回调函数内部

转载 作者:行者123 更新时间:2023-11-29 10:26:41 26 4
gpt4 key购买 nike

这是我的代码

for (var x in items) {
var name = items[x].Name;
var hotelID = 1;
var sql = mysql.format('INSERT INTO Item(name, hotelID) VALUES(?, ?)', [name, hotelID]);
con.query(sql, function (err, result) {
if (err) {
throw err;
}
//Below x is updated by the loop.
console.log(item[x].Name);
});

我想获取x的值就在 con.query() 调用之前,但这里 x 由 for 更新在回调完成之前循环。我该怎么做??

最佳答案

正如您所确定的,在异步回调中,“x 在回调完成之前由 for 循环更新”。

解决方案是使用 ES6 语法 let 而不是 var。因此声明的变量在回调中正确绑定(bind)到注册回调时它们所具有的值,因为为循环的每次迭代创建一个新变量,而不是使用提升到顶部的单个 var的功能。

关于javascript - 如何将参数传递给回调函数内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48152494/

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