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

109
Views
Middleware asíncrono de ruta de ExpressJS

Estoy tratando de usar un middleware en Express, pero no puedo hacer que funcione. Obtengo un tiempo de carga infinito cuando hago una solicitud. Busqué en stackoverflow pero no pude encontrar ningún ejemplo que usara un middleware asíncrono de espera almacenado en un archivo separado. ¿Alguien me puede apuntar en la dirección correcta?

isAuthenticated.js

 const Auth = require('../auth/auth') const isAuthenticated = async () => { return async (request, response, next) => { const token = request.cookies.token; try { const JWTVerify = await Auth.verifyJWTToken(token); next() } catch (error) { response.json({ status: "failed", message: "Authentication failed invalid token" }); response.end(); } } } module.exports = isAuthenticated

Servidor.js

 const isAuthenticated = require('./middleware/isAuthenticated') app.post('/some-route', isAuthenticated, async (request, response) => { });
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Está devolviendo una función y, por lo tanto, el middleware no está pasando la solicitud.

Las funciones de middleware son funciones que tienen acceso al objeto de solicitud (req), al objeto de respuesta (res) ya la siguiente función en el ciclo de solicitud-respuesta de la aplicación. La siguiente función es una función en el enrutador Express que, cuando se invoca, ejecuta el middleware que sucede al middleware actual.

verificar ---> http://expressjs.com/en/guide/writing-middleware.html

 const Auth = require('../auth/auth') const isAuthenticated = async (request, response, next) => { const token = request.cookies.token; try { const JWTVerify = await Auth.verifyJWTToken(token); next() } catch (error) { response.json({ status: "failed", message: "Authentication failed invalid token" }); response.end(); } } module.exports = isAuthenticated
about 4 years ago · Juan Pablo Isaza Report

0

Creo que el problema es la definición de su middleware. Lo está envolviendo dentro de una función, pero no lo está llamando. Si lo pasa así a express, express intentará llamarlo, pero la función externa solo devuelve la función interna. Por lo tanto, nunca se llama a la función interna, por lo que nunca se llama a next() .

 const isAuthenticated = async (request, response, next) => { const token = request.cookies.token; try { const JWTVerify = await Auth.verifyJWTToken(token); next() } catch (error) { response.json({ status: "failed", message: "Authentication failed invalid token" }); response.end(); } }
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!