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();
}
}
Ако една операция се провали, всички промени се отменят.