如何读取sqlite3数据库,使用节点js,同步?

exports.allProbes = function() { var rows = db.all("SELECT * FROM probes;"); return rows; }; 

 main: var json_values = allProbes(); 

有没有可能做这样的事情? 我的意思是,不使用callback函数:只是,从数据库读取数据(同步模式)。 并返回一个JSON格式的输出?

谢谢。

       

网上收集的解决方案 "如何读取sqlite3数据库,使用节点js,同步?"

你将无法与sqlite3做到这一点。 使用sqlite3模块的唯一可用的操作模式是asynchronous执行,你将不得不使用callback。 例如。

 exports.allProbes = function(callback) { db.all("SELECT * FROM probes;", function(err, all) { callback(err, all); }); }; 

然后在你的代码中:

 var json_values; allProbes(function(err, all) { json_values = all; }); 

检查sqlite3 API文档 。

你必须用npm install –save sql.js来安装sql.js

rest按照以下步骤:

 var fs = require('fs'); var sql = require('sql.js'); var bfr = fs.readFileSync('/tmp/db.sqlite'); var db = new sql.Database(bfr); db.each('SELECT * FROM test', function (row) { console.log(row); }); 

更多的细节,你可以在下面的链接: https : //discuss.atom.io/t/how-to-access-a-local-db-on-windows-through-electron/22400/13