javascript - 从回调中获取值

标签 javascript node.js sqlite

我使用sqlite3 node.js 的模块,我使用光标从表中获取值,如下所示:

db = new sqlite3.Database(config.sqlite3config.path);

statement = db.prepare("SELECT * FROM test_table");

var temp = {};
statement.get(function(err, col) {
   temp = col;
});

console.log(temp);

最后console.log我得到空的js对象,但我想得到statement.get函数结果,我如何从回调中获取col值?

最佳答案

原因是因为数据库调用是异步的 - 因此当您的 console.log 命中时,该命令尚未完成。您有几个选择,1)。在该命令的回调函数中完成您的工作:

statement.get(function(err, col) {
     temp = col;
     //do stuff!
});

2) 使用回调函数并将数据传递给其中:

statement.get(function(err, col) {
     temp = col;
     callback(temp);
});

function callback(param) {
    console.log(param);
}

关于javascript - 从回调中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20131065/

相关文章:

javascript - 使用 JavaScript 访问 CSS 类

javascript - 在 Mongoose 之上创建一个额外的数据访问层

node.js - 使用 Mongoose 增加 MongoDB 集合中的一个字段

javascript - Ember.js 如何访问从 Ember.Select 中选择的整个对象?

javascript - 在 Canvas 中单击形状(fabric.js 的对象)时显示自定义上下文菜单

javascript - node.js 中的事件循环是什么意思? javascript 事件循环或 libuv 事件循环?

Javascript内存泄漏检测

python - Django 2.0 : sqlite IntegrityError: FOREIGN KEY constraint failed

python - SQLAlchemy 是否可以在多个 Python 进程之间共享 SQLite 数据库?

c# - SQLite 将字符存储为字符串?