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

204
Visualizações
Cómo pasar la devolución de llamada a la función de inicio en una clase

Como mencioné en el título, me gustaría pasar alguna función como devolución de llamada a la función de inicio en alguna clase

Voy a poner aquí una estructura básica:

 class Person { constructor() { this.nums = [1, 2, 3]; this.init(); } init() { this.nums.forEach(num => { console.log(num); }); } }

Digamos que me gustaría agregar esta función como devolución de llamada a la función de inicio:

 function test() { console.log('test') }

Cómo puedo hacer esto

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

 class Person { constructor(cb) { this.nums = [1, 2, 3]; this.cb = cb; this.init() } init() { this.nums.forEach(num => { console.log(num) }) this.cb() } } const test = () => { console.log('test') } const myPerson = new Person(test)

about 4 years ago · Juan Pablo Isaza Relatório

0

Declare la callback de llamada como un parámetro en su método de init y llame a la callback de llamada al final de su método de init .

Mientras llama a su método init , pase la test como argumento.

about 4 years ago · Juan Pablo Isaza Relatório

0

En caso de que el OP quiera que se invoque la devolución de llamada como si fuera un método de la instancia de Persona y, además, también quiere manejar el paso de argumentos a dicha devolución de llamada, entonces init ya no es solo un inicializador.

Se convierte en un único método genérico de cualquier instancia de Person que invoca cualquier función pasada dentro del contexto de dicha instancia mientras pasa el resto de sus argumentos a la devolución de llamada.

Tal método entonces podría ser renombrado de init para execute ...

 function pushNumberValues(...values) { this.nums.push(...(values.flat())); } function logInstanceNumbers() { this.nums.forEach(num => console.log(num) ); } class Person { constructor() { this.nums = [0, 1, 2]; } execute(callback, ...args) { return callback.apply(this, args); } } const person = new Person; person.execute(pushNumberValues, 3, 4, 5, 6); person.execute(pushNumberValues, [7 , 8 , 9]); person.execute(logInstanceNumbers);
 .as-console-wrapper { min-height: 100%!important; top: 0; }

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