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

327
Views
¿Cómo funciona un método como devolución de llamada en app.use()?

Normalmente, una función se pasa como devolución de llamada en app.use() , así:

 const express = require('express'); const app = express(); app.use(function (req, res, next) { console.log('Time:', Date.now()); next(); });

Sin embargo, en el caso de node-expose-sspi , se pasa un método:

 const express = require('express'); const { sso } = require('node-expose-sspi'); const app = express(); app.use(sso.auth()); //stores something in req.sso app.use((req, res, next) => { res.json({ sso: req.sso, }); });

¿Por qué se pasa el método con () ? Si usa () ¿por qué no se llama inmediatamente (sin argumentos)?
Además, ¿cómo puedo envolver un método en una función de devolución de llamada, por ejemplo?

 app.use(myCallback); function myCallback(req, res, next) { sso.auth(); //req.sso is undefined }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

app.use(sso.auth());

llama a sso.auth() y app.use() como su valor de retorno.

Puede encontrar aquí en la fuente node-expose-sspi que .auth() de hecho devuelve una nueva función de middleware.

En cuanto a la segunda pregunta

Además, ¿cómo puedo envolver un método en una función de devolución de llamada?

no deberías hacer eso: Express llamará a tus middlewares use en orden; una devolución de llamada posterior tendrá acceso a lo que un middleware anterior haya inyectado en la solicitud.

Si por alguna razón realmente necesita hacer eso,

 const ssoAuth = sso.auth(); function myCallback(req, res, next) { ssoAuth(req, res, () => { // whatever would regularly be in `myCallback` next(); }); } ``
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!