Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

340
Vistas
¿Qué significa 'async' en JavaScript cuando *no* está seguido de 'función'?

Me topé con este fragmento de código mientras trabajaba en Fastify.

 module.exports = async function (fastify, opts) { fastify.register(proxy, { upstream: 'htt‌ps://news.ycombinator.com/', async preHandler(request, reply) { if (request.query.token !== 'abc') { throw fastify.httpErrors.unauthorized(); } }, }); };

Parece que llama a fastify.register con dos parámetros y el segundo parámetro es un objeto. El primer campo está upstream , pero no entiendo lo que sigue. ¿Cuál es esta sintaxis después de async preHandler(request, reply)... ?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

fastify.register aparentemente tiene esta firma: fastify.register(proxy, {}); . Así que el segundo parámetro es un objeto .

Como se indica en MDN y por Andreas en los comentarios , puede tener un objeto que contenga una firma de método. Entonces su objeto puede ser declarado como:

 { upstream: string, preHandler(request, reply){} }

Donde preHandler(request, reply){} es esencialmente una forma abreviada de preHandler: function(request, reply){}

Luego puede declarar la firma de este método asíncrono (nuevamente como se indica en docs ). Lo que resulta en:

 { async preHandler(request, reply){} }

Lo anterior también podría declararse como:

 { preHandler: async function(request, reply){} }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda