【发布时间】:2014-09-06 15:57:58
【问题描述】:
我用 npm 安装了 sqlite3
npm install sqlite3 --save
我已经编写了一些我希望同步执行而不是异步执行的基本函数。
例如,我想在一个函数中获取列名,在另一个函数中获取行数。
我想简单地返回这些值。目前我正在使用这样的回调
d.cinfo = function(table, callback){
var o = {};
db.each("PRAGMA table_info(" + table + ")", function(err, col){
o[col.name] = col.type;
}, function(){
if(typeof callback == 'function') callback(o);
});
}
d 是一个稍后暴露的对象 但是我想返回值
d.cinfo = function(table, callback){
var o = {};
db.each("PRAGMA table_info(" + table + ")", function(err, col){
o[col.name] = col.type;
}, function(){
return o;
});
}
有没有办法实现这一点。我发现文档说这是可能的,但后来我了解到它已经过时了,我不确定它是否适用于同一个 api
我已经实现了 bluebird,但是 Promise.promisifyAll(middleware) 返回和错误“Object # has no method .then() 任何人都知道我做错了什么
【问题讨论】:
-
你可以使用better-sqlite3