У меня проблема, когда транзакция knex ожидает затем.В приведенном ниже коде, как только произошел откат вместо того, чтобы перехватить эту ошибку, почтальон зависает в ожидании ответа.Похоже, он ожидает тогда.Это почему?Это будет означать, что даже если произошел откат, транзакция считает, что она успешна?
app.post('/register', (req, res) => {
const { email, name, password } = req.body;
const hash = bcrypt.hashSync(password, saltRounds);
console.log(hash);
//insert syntax
//When sending back response on an error from a server never send information back as error, instead send just a message
dbConnection.transaction((trx) => {
trx.insert({
name: name,
emailaddress: email,
createddt: new Date()
}).into('users')
.returning('emailaddress')
.then((response) => {
console.log(response);
dbConnection('login').insert({
emailaddress: response,
password: hash
})
.then(res.json('user created'));
})
.then(() => {
trx.commit;
console.log('committed');
})
.catch(() => {
trx.rollback;
//console.log(err);
console.log('rollback');
//res.json('cannot create user');
})
//.catch((err) => res.status(400).json(err))
})
//.then(res.json('user created'))
.catch((err) => res.status(400).json('cannot create user'))
})
Есть идеи, как это можно исправить?