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

207
Views
¿Cómo manejar los errores de Express sin depender de la propiedad de longitud de la función?

De los documentos de manejo de errores de Express:

Defina funciones de middleware de manejo de errores de la misma manera que otras funciones de middleware, excepto que las funciones de manejo de errores tienen cuatro argumentos en lugar de tres: (err, req, res, next) . Por ejemplo:

 app.use(function (err, req, res, next) { console.error(err.stack) res.status(500).send('Something broke!') })

Parece que .use(middlware) de Express inspecciona la length de la función de middleware para ver cuántos argumentos necesita, y si son cuatro, la trata de manera diferente a otras funciones de middleware, pasándole un error como primer argumento.

Esto es incompatible con las configuraciones modernas de linting como XO o Airbnb, ya que lo obliga a definir un parámetro final adicional que no se consume (es decir, el next en el ejemplo anterior). Además, los parámetros finales no utilizados pueden ser eliminados por algunas transformaciones de código automatizadas, que es algo de lo que no quiero preocuparme. En mi opinión, Function.prototype.length se mantiene mejor para la metaprogramación/introspección en lugar de afectar el comportamiento de producción real.

¿Hay alguna otra forma más explícita de definir un controlador de errores en Express, que no lo obligue a implicar la funcionalidad prevista a través de la cantidad de parámetros que toma su función?

about 4 years ago · Santiago Trujillo
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!