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

105
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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