我可以在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回调? (注释的位置未定义)
答案 0 :(得分:0)
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);
}
});
});
}
或者像电离器说你可以回复承诺。如果需要使用async / await
{{1}}