Sobes.tech
Назад к вопросам
Junior — Middle
91

Имели ли вы опыт использования транзакций в своих проектах?

Ответ от нейросети

sobes.tech AI

Да, в проектах на Node.js я использовал транзакции, особенно при работе с базами данных, такими как PostgreSQL или MySQL. Транзакции позволяют объединить несколько операций в одну атомарную единицу, чтобы либо все изменения были применены, либо ни одно из них не произошло, что важно для сохранения целостности данных.

Пример использования транзакции с библиотекой pg для PostgreSQL:

const { Client } = require('pg');

async function performTransaction() {
  const client = new Client();
  await client.connect();
  try {
    await client.query('BEGIN');
    await client.query('INSERT INTO users(name) VALUES($1)', ['Alice']);
    await client.query('INSERT INTO accounts(user_id, balance) VALUES($1, $2)', [1, 100]);
    await client.query('COMMIT');
  } catch (e) {
    await client.query('ROLLBACK');
    throw e;
  } finally {
    await client.end();
  }
}

Таким образом, если одна из операций не выполнится, все изменения будут отменены.