node.js - sqlite3 lee todos los registros en la tabla y devuelve

Estoy tratando de leer todos los registros en una tabla sqlite3 y devolverlos a través de devolución de llamada. Pero parece que a pesar de usar serializar estas llamadas siguen siendo ASYNC. Aquí está mi código:

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();

    });

}

Cuando se activa la devolución de llamada, la matriz imprime '[]'.

¿Hay otra llamada que pueda hacer (en lugar de db.each) que me dará todas las filas en una sola toma. No tengo necesidad de recorrer cada fila aquí.

Si no lo hay, ¿cómo leo todos los registros y solo luego llamo a la devolución de llamada con los resultados?

Respuestas a la pregunta(5)

Su respuesta a la pregunta