Sobes.tech
Junior — Middle

¿Tiene experiencia en el uso de transacciones en sus proyectos?

sobes.tech AI

Respuesta de la IA

Sí, en proyectos de Node.js he utilizado transacciones, especialmente al trabajar con bases de datos como PostgreSQL o MySQL. Las transacciones permiten combinar varias operaciones en una sola unidad atómica, para que o todos los cambios se apliquen o ninguno de ellos, lo cual es importante para mantener la integridad de los datos.

Ejemplo de uso de transacción con la biblioteca pg para 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();
  }
}

Por lo tanto, si una de las operaciones no se realiza, todos los cambios serán revertidos.