我试图在项目中使用sqlite3,但遇到了一个问题。我的函数没有返回任何值。我添加了一个
console.log
在返回语句之前,奇怪的是,它可以工作,但是日志
之后
函数已返回。
console.log(getNext());
function establishConnection(callback) {
const db = new sqlite3.Database('database.db');
db.serialize(() => {
callback(db);
});
db.close();
}
function getNext() {
establishConnection(db => {
db.get('SELECT col1, col2 FROM table ORDER BY priority LIMIT 1;', (err, row) => {
console.log([row.col1, row.col2]); // works
return [row.col1, row.col2]; // doesn't work
});
});
}
我不是node方面的专家,但这似乎是应该起作用的,我不明白为什么不起作用。有人能向我解释一下,并可能提供解决方案吗?