Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

209
Vistas
Nodo / Condición de carrera expresa en operaciones de base de datos

Tengo una ruta expresa que necesita recuperar una fila de una base de datos, verifique si un campo tiene un valor establecido y si no lo establece. Luego, los datos de la fila se envían de vuelta al cliente.

Sé que el nodo se ejecuta en un solo subproceso, pero las operaciones de E/S se ejecutan de forma asincrónica, por lo que creo que puedo tener un problema si, mientras el primer cliente está esperando para escribir en la base de datos, llega un segundo cliente, lee un valor nulo y realiza el escribir una segunda vez.

No puedo permitir que esto suceda ya que el valor escrito es un valor compartido del que solo puede haber uno.

¿Tengo razón en que esto podría suceder y, de ser así, cuál es la forma recomendada de manejar esto?

Gracias.

 let express = require('express'); let router = express.Router(); router.post('/getRoomStateByRoomUrl', async (req, res, next) => { const roomUrl = req.body.room_url; try { //READ FROM DB const roomState = await RoomStateModel.getRoomStateByRoomUrl(roomUrl); if(!roomState.tokboxSessionID) { const newSessionID = await TokboxService.createSession(); //WRITE TO DB await RoomStateModel.setTokboxSessionID(newSessionID); roomState.tokboxSessionID = newSessionID; } res.status(200).json(roomState); } catch (error) { next(error); } });
over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda