Como o `db.serialize` funciona no` node-sqlite3`
Recentemente, estou aprendendo a usar o nó enode-sqlite3 Para manipular o sqlite3, aqui está uma amostra.
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();
A documentação dizia quedb.serialized
foi usado para garantir que as linhas SQL fossem executadas em ordem, mas fiquei confuso, por que elas não seriam executadas em ordem semdb.serialize
, afinal eles seriam retirados da fila de eventos e executados em ordem? Como isso funciona aqui?
E se houver apenas um sql a ser executado, é seguro executá-lo semdb.serialize
do seguinte modo?
var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.run("CREATE TABLE test(info TEXT)");
db.close();