Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

205
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda