@vetsmen

Mysql транзакции с использованием async/await?

Есть пример mysql транзакции https://github.com/mysqljs/mysql#transactions
код
connection.beginTransaction(function(err) {
  if (err) { throw err; }
  connection.query('INSERT INTO posts SET title=?', title, function (error, results, fields) {
    if (error) {
      return connection.rollback(function() {
        throw error;
      });
    }

    var log = 'Post ' + results.insertId + ' added';

    connection.query('INSERT INTO log SET data=?', log, function (error, results, fields) {
      if (error) {
        return connection.rollback(function() {
          throw error;
        });
      }
      connection.commit(function(err) {
        if (err) {
          return connection.rollback(function() {
            throw err;
          });
        }
        console.log('success!');
      });
    });
  });
});

Меня очень смущает callback hell в данном случае. Если у меня будет 5 вложенных запросов, никакой читабельности кода не будет абсолютно.
Как можно переписать данный код с использованием привычного asnyc/await?
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
PayMe Москва
от 150 000 руб.
LATOKEN Москва
от 150 000 до 250 000 руб.
22 июля 2018, в 20:41
10000 руб./за проект
22 июля 2018, в 20:13
2000 руб./за проект