Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Decorator não retorna nada no console

export function logarTempoDeExecucao(emSegundos: boolean = false) {

    return function(target: any, propertyKey: string, descriptor: PropertyDescriptor) {

            const metodoOriginal = descriptor.value;

            descriptor.value = function(...args: any[]) {

                let divisor = 1;
                let unidade = 'milisegundos'
                if(emSegundos) {
                    divisor = 1000;
                    unidade = 'segundos';
                }

                console.log('-----------------------')
                console.log(`Parâmetros do método ${propertyKey}: ${JSON.stringify(args)}`);
                const t1 = performance.now();
                const resultado = metodoOriginal.apply(this, args);
                console.log(`Resultado do método: ${JSON.stringify(resultado)}` )
                const t2 = performance.now();
                console.log(`${propertyKey} demorou ${(t2 - t1)/divisor} ${unidade}`);
                console.log('-----------------------')
                return resultado;
            }
            return descriptor;


    }
}
3 respostas
solução!

Fala ai João, tudo bem? Como você fez a chamada do decorator?

Fico no aguardo.

Olá, consegui resolver o problema, o meu decorator não estava dando o return corretamente Agradeço a atenção.

Boa Joao, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software