Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

261
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!