gpt4 book ai didi

javascript - 将数组返回给父函数调用

转载 作者:行者123 更新时间:2023-12-01 02:05:33 26 4
gpt4 key购买 nike

我正在尝试将对象数组返回给父函数,以便我可以将它们附加到 HTML 中的 div 中。

我的函数似乎运行了错误的序列。这是我的功能:

function getRounds() {
var db = connectDB();
var items = new Array();
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM round', [], function(tx, results) {
var len = results.rows.length;
for (var i=0; i<len; i++){
items.push(results.rows.item(i));
}
alert('ONE: '+ JSON.stringify(items));
return items;
}, errorCB);
alert('TWO: '+ items)
});
alert('THREE: '+ items);
return items;
}

发生的情况是我收到“三:”警报,然后是“二:”,然后是“一个:[对象]”。

从逻辑上讲,它应该以相反的方式发出警报,因为函数是嵌套的,One 返回一个对象数组,这正是我需要返回到主函数(getRounds)的对象。

有什么想法可以实现这一目标吗?

我正在使用 Appgyver 的 Steroids,有关 Web SQL 数据库存储的文档可以在这里找到:http://docs.appgyver.com/en/stable/cordova_storage_storage.md.html#SQLResultSetRowList

最佳答案

这是因为调用是异步的!您需要使用回调!

function getRounds(callback) {
var db = connectDB();
var items = new Array();
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM round', [], function(tx, results) {
var len = results.rows.length;
for (var i=0; i<len; i++){
items.push(results.rows.item(i));
}
alert('ONE: '+ JSON.stringify(items));
callback(items)
}, errorCB);
});
}

getRounds(function(items) {
console.log(items);
});

关于javascript - 将数组返回给父函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23829825/

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