sqlite3 nodejs – 同步返回数据

我可以在sqlite3和nodejs上find的每个示例只是将数据写入控制台,这是无用的 – 我如何等待数据并从调用方法返回? 可以说我有:

exports.selectData = function(tableName, parameters, successHandler) { var dbConn = new sqlite3.Database('./data/myAppsData.db'); dbConn.all("SELECT " + parameters + " FROM " + tableName + "", function(err, rows) { // what to do here ? or somewhere else ? }); } 

我如何获得数据(行)从selectData返回? 或者,使用successHandlercallback? (这是评论的地方是未定义的)

  dbConn.all("SELECT " + parameters + " FROM " + tableName + "", function(err, rows) { return rows // could replace with JSON.stringify(rows) If you want to pass JSON data }); 

或者离子发生器说你可以回复一个承诺。 如果你需要使用asynchronous/等待

 exports.selectData = function(tableName, parameters, successHandler) { var dbConn = new sqlite3.Database('./data/myAppsData.db'); return new Promise((resolve, reject) => { dbConn.all("SELECT " + parameters + " FROM " + tableName + "", function(err, rows) { if(err) { reject (err); } else { resolve(rows); } }); }); }