, Если у вас есть только один запрос, нет необходимости в функции сериализации. Вам не нужно беспокоиться о закрытии базы данных до завершения запроса, потому что SQLite достаточно умен, чтобы этого не делать! :)

но я учусь использовать узел иУзел-sqlite3 манипулировать sqlite3, вот пример.

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

В документации сказано, чтоdb.serialized использовался для проверки того, что строки SQL выполнялись по порядку, но я был озадачен, почему бы не выполнить их по порядку безdb.serializeпосле того как все они будут извлечены из очереди событий и выполнены по порядку? Как это работает здесь?

И если нужно выполнить только один sql, безопасно ли его запускать безdb.serialize следующее?

var sqlite3 = require('sqlite3');
var db = new sqlite3.Database(':memory:');
db.run("CREATE TABLE test(info TEXT)");
db.close();

Ответы на вопрос(2)

Ваш ответ на вопрос