我想讀取sqlite3表中的所有記錄並通過回調返回它們。但似乎儘管使用序列化,這些調用仍然是ASYNC。這裏是我的代碼:node.js - sqlite3讀取表中的所有記錄並返回
var readRecordsFromMediaTable = function(callback){
var db = new sqlite3.Database(file, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE);
var allRecords = [];
db.serialize(function() {
db.each("SELECT * FROM MediaTable", function(err, row) {
myLib.generateLog(levelDebug, util.inspect(row));
allRecords.push(row);
}
callback(allRecords);
db.close();
});
}
當回調被觸發時,數組打印'[]'。
是否有另一個我可以做的調用(而不是db.each),它會給我一次所有的行。我不需要在這裏迭代每一行。
如果沒有,我如何讀取所有記錄,然後才能調用結果的回調?
這麼簡單的事情。無證,痛苦的***,花了我半天的時間來處理這件事。謝謝你節省我的餘生。 – chuckjones242