Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Ordem de execução dos decorators

Olá, não consegui entender a ordem de execução dos decorators, teria alguma forma de utilizar algo mais visível para ver a ação da execução?, ficou um pouco confuso na aula.

1 resposta
solução!

Olá José! Tudo bem?

Os decorators em TypeScript são aplicados de cima para baixo, mas executados de baixo para cima. Isso significa que o primeiro decorator que você escreve é o último a ser executado.

Imagine que você tem dois decorators, @DecoratorA e @DecoratorB, aplicados a uma classe ou método:

@DecoratorA
@DecoratorB
class MinhaClasse {
  // ...
}

Neste caso, DecoratorB será aplicado primeiro, seguido por DecoratorA. Para visualizar melhor a execução, você pode adicionar logs dentro dos decorators para ver a ordem em que eles são chamados:

function DecoratorA(target: any) {
  console.log('DecoratorA executado');
}

function DecoratorB(target: any) {
  console.log('DecoratorB executado');
}

@DecoratorA
@DecoratorB
class MinhaClasse {
  // ...
}

Ao executar o código acima, você verá no console:

DecoratorB executado
DecoratorA executado

Isso ajuda a visualizar que, embora DecoratorA esteja escrito antes de DecoratorB, ele é executado depois.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.