Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

207
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda