¿Cómo funciona `db.serialize` en` node-sqlite3`
Recientemente estoy aprendiendo a usar el nodo ynode-sqlite3 para manipular sqlite3, aquí hay una muestra.
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run("CREATE TABLE test(info TEXT)");
db.run("INSERT INTO test (info) VALUES ('info1')");
})
db.close();
La documentación decía quedb.serialized
se utilizó para garantizar que las líneas SQL se ejecutaran en orden, pero estaba confundido, ¿por qué no se ejecutarían en orden sindb.serialize
, después de todo, ¿serían retirados de la cola de eventos y ejecutados en orden? ¿Cómo funciona aquí?
Y si solo hay un sql para ejecutar, ¿es seguro ejecutarlo sindb.serialize
¿como sigue?
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.run("CREATE TABLE test(info TEXT)");
db.close();