我能在sqlite3和nodejs上找到的每个示例都只是将数据写入控制台,这是无用的-我如何等待数据并从调用方法返回它?假设我有:
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获取要返回的数据(行)?或者,使用successHandler回调?(评论在哪里未定义)
发布于 2017-12-09 04:33:26
dbConn.all("SELECT " + parameters + " FROM " + tableName + "", function(err, rows) {
return rows // could replace with JSON.stringify(rows) If you want to pass JSON data
});或者就像电离器说的,你可以回一个诺言。如果您需要使用async/await
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);
}
});
});
}https://stackoverflow.com/questions/47720686
复制相似问题