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

263
Visualizações
cómo evitar congelar obtener ruta en nodejs expresjs

Tengo una ruta como http://localhost:3000/admin/video/edit/5 y el controlador se ve así

 albumEdit: async (req, res) => { const editInfoId = req.params.id; await Movie.findOne({ where: { id: editInfoId } }).then((movie) => { if (movie) { res.render('admin/movies/edit', { title: 'Edit Movie On Page One', movie }); } }); },

para fines de prueba, cuando escribo la identificación incorrecta después de edit/ luego el proceso se congela después de un tiempo, obtengo 500 errores.

¿Cómo evitar esto si alguien intenta romper mi aplicación con la identificación incorrecta en la URL? Quiero algo como si alguien intenta hacer que esta aplicación redirija a una página de error.

Soy nuevo en node js express js necesito algo de información.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su ruta se congelará si movie es falsa o si fineOne da como resultado un error porque en ambos casos no envía ninguna respuesta.

después de un tiempo recibo 500 errores.

Si ejecuta su servidor de nodo detrás de un servidor web, este 500 se debe a un tiempo de espera porque su enrutador no envía una respuesta.

¿Cómo evitar esto si alguien intenta romper mi aplicación con la identificación incorrecta en la URL? Quiero algo como si alguien intenta hacer que esta aplicación redirija a una página de error.

Al igual que con cualquier código o lenguaje de programación, asegúrese de manejar todos los flujos de control y las posibles excepciones.

Además de eso, si usa await you en la mayoría de los casos, no querrá usar .then .

 albumEdit: async (req, res) => { const editInfoId = req.params.id; try { let movie = await Movie.findOne({ where: { id: editInfoId } }) if (movie) { res.render('admin/movies/edit', { title: 'Edit Movie On Page One', movie }); } else { // either the if is not necessary or you have to also handle the else cases // send some error response res.send('error') } } catch (err) { // send some error response res.send('error') } }

Para completar, así es como necesitaría hacer cambios en su código, pero como se dijo anteriormente, no mezcle await y then :

 albumEdit: async (req, res) => { const editInfoId = req.params.id; try { await Movie.findOne({ where: { id: editInfoId } }).then((movie) => { if (movie) { res.render('admin/movies/edit', { title: 'Edit Movie On Page One', movie }); } else { // either the if is not necessary or you have to also handle the else cases // send some error response res.send('error') } }); } catch (err) { // send some error response res.send('error') } }
about 4 years ago · Juan Pablo Isaza Relatório
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