gpt4 book ai didi

javascript - 在 Javascript 中访问嵌套函数

转载 作者:行者123 更新时间:2023-11-30 10:33:58 25 4
gpt4 key购买 nike

我有以下代码:

function getRetailerName(retailerID) {
var retailerName;
db.transaction(function retName(qry) {
qry.executeSql("SELECT retailerName FROM retailers WHERE token = '" + retailerID + "' ", [], function (tx, results1) {
var len1 = results1.rows.length;
var retailerName;
for (var i1 = 0; i1 < len1; i1++) {
retailerName = results1.rows.item(i1).retailerName;
//alert(results1.rows.item(i1).retailerName);
}
});
return retailerName;
});
alert(retName());
}

我正在尝试从内部函数 retName() 获取值并最终调用 getRetailerName() 从数据库中获取值,但是它一直给我retName 未定义的错误?

我在这里尝试了很多,

最佳答案

你不能那样做,因为它是异步的。当您从函数返回时,查询尚未完成。相反,传递要执行的回调:

function getRetailerName(retailerID, callback) {
var retailerName;
db.transaction(function retName(qry) {
qry.executeSql("SELECT retailerName FROM retailers WHERE token = '" + retailerID + "' ", [], function (tx, results1) {
var len1 = results1.rows.length;
var retailerName;
for (var i1 = 0; i1 < len1; i1++) {
retailerName = results1.rows.item(i1).retailerName;
callback(retailerName);
}
});
});
}

getRetailerName(1, function(name) {
alert(name);
});

关于javascript - 在 Javascript 中访问嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15110939/

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