Sails.js Best Practice bei der Verwendung von Transaktionen mit Versprechungen (Postgres)

Ich verwende Segel 0.9.16 mit Postgres und meine Frage ist: Was ist der beste Weg, eine Transaktion unter Verwendung der aktuellen API mit Versprechungen auszuführen? Vielleicht gibt es etwas Besseres als:

    Model.query('BEGIN TRANSACTION', function (err) {
      if (err) {
        next(err);
      } else {
        Model
          .create(...)
          .(function (value) {
            return [value, RelatedModel.create(...).then(...)];
          })
          .fail(function (err) {
            Model.query('ROLLBACK');
            next(err);
          })
          .spread(function (...) {
            Model.query('COMMIT')
            next(...);
          })
      }
    })

Danke für die Hilfe!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage