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();
}
}
Եթե որևէ գործողություն ձախողվի, բոլոր փոփոխությունները վերացվում են։