sqlite3 nodejs - 同步返回数据

时间:2017-12-08 19:06:36

标签: node.js select sqlite

我可以在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回调? (注释的位置未定义)

1 个答案:

答案 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}}