Junior — Middle
Kas teil on kogemusi tehingute kasutamisel oma projektides?
sobes.tech AI
Vastus AI-lt
Jah, Node.js projektides olen ma kasutanud tehinguid, eriti töötades andmebaasidega nagu PostgreSQL või MySQL. Tehingud võimaldavad ühendada mitu operatsiooni ühte atomaarse üksusena, nii et kas kõik muudatused rakendatakse või mitte ükski, mis on oluline andmete terviklikkuse säilitamiseks.
Näide tehingu kasutamisest pg teegiga PostgreSQL jaoks:
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();
}
}
Kui üks operatsioon ebaõnnestub, tühistatakse kõik muudatused.