gpt4 book ai didi

javascript - Nodejs迭代后读取数组

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

我是 Nodejs 和异步语言的新手。我正在尝试从 sqlite3 读取数据并将它们推送到数组中。最后打印数组。我已成功将数据推送到数组,并且可以从迭代内部记录它们。但是当我尝试从外部读取数组时,数组看起来像是空的。

var express = require('express');
var app = express();

var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('testDb');

app.use(express.static(__dirname + '/public'));

db.serialize(function() {
var infoCOllection = [];

db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {

infoCOllection.push(row.id + ": " + row.info);
});
console.log(infoCOllection);
});

db.close();

app.listen(3000);
console.log('sever is run on port 3000');

我阅读了很多关于回调和nodejs的示例和解释,但不理解其结构及其与我的代码的关系。任何人都可以帮助我解决我的代码问题。提前致谢

最佳答案

来自docs

Database#each(sql, [param, ...], [callback], [complete])

完成db.each后可以得到array,如下所示

db.each("SELECT rowid AS id, info FROM lorem", function(err, row) {
infoCOllection.push(row.id + ": " + row.info);
}, function(err, rows){ //callback for completion of .each method
console.log(infoCOllection); //you can have your array printed here
});

关于javascript - Nodejs迭代后读取数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41339750/

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