Sobes.tech
Junior — Middle

Имали ли сте опит с използването на транзакции в проектите си?

sobes.tech AI

Отговор от 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();
  }
}

Ако една операция се провали, всички промени се отменят.