Junior — Middle
Mal ste skúsenosti s používaním transakcií vo svojich projektoch?
sobes.tech AI
Odpoveď od AI
Áno, v projektoch Node.js som používal transakcie, najmä pri práci s databázami ako PostgreSQL alebo MySQL. Transakcie umožňujú spojiť niekoľko operácií do jednej atomickej jednotky, takže buď sú všetky zmeny aplikované, alebo žiadna, čo je dôležité pre zachovanie integrity dát.
Príklad použitia transakcie s knižnicou pg pre 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();
}
}
Ak jedna operácia zlyhá, všetky zmeny sa vrátia späť.