Я создал собственный путь к маршрутизатору для сохранения данных в модели (общие / модели / предложения. js). Я хочу транзакцию также для этого. Итак, я создал транзакцию следующим образом.
quotation.save = async(reqBody, include, cb) => {
try {
await app.dataSources.db.transaction(async models => {
const {quotation} = models;
const {guest} = models;
const rollBack = (location, err) => {
console.log(location);
throw err;
};
await quotation.create(quotationJSON, (quotationErr, quotationResponse) => {
if (quotationErr) {
rollBack('Quotation Save Err', quotationErr);
}
var guestArray = quotationJSON.guestArray;
guestArray.map(async(guestObj, guestIndex) => {
guestObj.guest_quotation_ID = quotationResponse.id;
if (quotationJSON.guestArray.length - 1 === guestIndex) {
await guest.create(guestArray, (guestErr, guestResponse) => {
if (guestErr) {
rollBack('Guest Save Err', guestErr);
}
console.log(guestResponse);
});
}
});
});
});
} catch (e) {
console.log(e); // Oops
}
};
, когда этот прогон выдает ошибку, подобную этой.
Error: The transaction is not active: 5e59b5f0-8b7a-11ea-a422-b1cd47789f87
, так как я могу решить эту проблему?