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();
}
}
Агар яке аз амалиёт ноком шавад, ҳамаи тағйиротҳо бекор карда мешаванд.