Junior — Middle
Avez-vous de l'expérience dans l'utilisation de transactions dans vos projets?
sobes.tech IA
Réponse de l'IA
Oui, dans des projets Node.js, j'ai utilisé des transactions, en particulier lors de la manipulation de bases de données telles que PostgreSQL ou MySQL. Les transactions permettent de regrouper plusieurs opérations en une seule unité atomique, afin que toutes les modifications soient appliquées ou aucune, ce qui est important pour préserver l'intégrité des données.
Exemple d'utilisation d'une transaction avec la bibliothèque pg pour 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();
}
}
Ainsi, si l'une des opérations échoue, tous les changements seront annulés.