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

129
Visualizações
Pase la instancia Fastify a los controladores en un nivel superior

En lugar de pasar la fastify instance a cada función, ¿cómo puedo pasarla a un nivel superior solo una vez para que esté disponible para todas las funciones en el controlador?

 // route file import { FastifyPluginAsync } from 'fastify' import RootController from '../root.controller' const root: FastifyPluginAsync = async (fastify, opts): Promise<void> => { fastify.get('/', RootController.index(fastify)) fastify.get('/show', RootController.show(fastify)) } export default root
 // controller file import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify' export default { index: (fastify: FastifyInstance) => async (request: FastifyRequest, reply: FastifyReply) => { const hugs = fastify.someSupport() reply.send({ status: 'ok', love: hugs }) }, show: (fastify: FastifyInstance) => async (request: FastifyRequest, reply: FastifyReply) => { const hugs = 'extra ' + fastify.someSupport() reply.send({ status: 'ok', love: hugs }) } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

La respuesta es una simple refactorización mecánica usando cierres:

 // controller file import { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify' export default async function installRootController(fastify: FastifyInstance, opts): Promise<void> { fastify.get('/', async (request: FastifyRequest, reply: FastifyReply) => { const hugs = fastify.someSupport() reply.send({ status: 'ok', love: hugs }) }); fastify.get('/show', async (request: FastifyRequest, reply: FastifyReply) => { const hugs = 'extra ' + fastify.someSupport() reply.send({ status: 'ok', love: hugs }) }); };

Las funciones internas (los controladores asíncronos para / y /show ) tienen acceso a fastify porque es accesible desde el alcance léxico de la función circundante. Esto le permite encapsular "controladores" completos como complementos Fastify, listos para instalar así:

 fastify.register(installRootController);

Tenga en cuenta que el archivo "rutas" ahora no tiene ningún uso.

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