Ошибка получения петли Транзакция не активна - PullRequest
0 голосов
/ 01 мая 2020

Я создал собственный путь к маршрутизатору для сохранения данных в модели (общие / модели / предложения. 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, так как я могу решить эту проблему?

...