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

[Dúvida] Retorno de função sem a diretiva return

export function logarTempoDeExecucao() {
  return function(
    target: any,
    propertyKey: string,
    descriptor: PropertyDescriptor
  ) {
    const metodoOriginal = descriptor.value;
    descriptor.value = function(...args: any[]){
      const t1 = performance.now()
      const retorno = metodoOriginal.apply(this, args)
      const t2 = performance.now()
      console.log(`${propertyKey}, tempo de execução: ${(t2-t1)/1000} segundos`);
      retorno // AQUI
    }
    return descriptor;
  }
}

No trecho de código acima, na linha do comentário "// AQUI", não entendi como que acontece o retorno sem a diretiva return.

2 respostas

Ninguém explicou ainda???

Fiquei com a mesma dúvida

solução!

Oi Hallyson, tudo bem?

Nesse caso especifico não temos nenhum retorno, justamente pq não chamamos a palavra-chave return em nenhum momento dentro da função. O que acontece é que esse retorno que vc está vendo é o nome da variável que recebe o valor de metodoOriginal.apply(this, args) mas esse é só o nome dessa variável. Nesse ponto do código ela não faz nada e tbm não está sendo retornada mesmo.

Provavelmente o instrutor se confundiu na hora de explicar a aula