Junior — Middle
Vai jums ir pieredze ar transakciju izmantošanu savos projektos?
sobes.tech AI
Atbilde no AI
Jā, Node.js projektos esmu izmantojis transakcijas, īpaši strādājot ar datu bāzēm kā PostgreSQL vai MySQL. Transakcijas ļauj apvienot vairākas operācijas vienā atomā vienībā, lai vai nu visas izmaiņas tiktu piemērotas, vai neviens, kas ir svarīgi datu integritātes saglabāšanai.
Piemērs, kā izmantot transakciju ar pg bibliotēku 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();
}
}
Ja kāda operācija neizdodas, visas izmaiņas tiek atceltas.