Я начал проект node.js express. И я подумываю о переводе транзакции в базу данных MySQL. Если бы у меня было 2 функции, которые содержат несколько обратных вызовов или обещаний внутри, и обе они используют одно и то же соединение. Возможно ли, что sql -исполнения могут быть окончательно перепутаны?
В конце вопрос: правильно ли я обработал запрос и транзакции?
ex. :
var connection=mysqlpool.getConnection();
function one(con) {
con.promise().beginTransaction()
.then(() => {
con.promise().query("SELECT * FROM sth")
.then(([results]) => {
// do sth
con.promise().query("INSERT...").
.then(() => {con.commit();})
.catch((err) => {console.log(err); con.rollback(); })
})
})
}
function two(con) {
con.promise().beginTransaction()
.then(() => {
con.promise().query("SELECT * FROM sth")
.then(([results]) => {
// do sth
con.promise().query("INSERT...").
.then(() => {con.commit();})
.catch((err) => {console.log(err); con.rollback(); })
})
})
}
one(connection);
two(connection);
Используется npm Пакет для подключения к DB: https://www.npmjs.com/package/mysql2