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

260
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
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