Acompañándote en la transformación digital    
  |       |   
Open

Callback

<< Regresar

Es una función que se usa como argumento de otra función. Cuando se llama a la función «1», ésta ejecuta otra función. Usualmente lo que se pasa es un puntero de función «2».

Usualmente, el código de alto nivel inicia con el llamado de alguna función de bajo-nivel, pasando un puntero conocido como handle. Una función de bajo nivel en ejecución puede ejecutar la función pasada como puntero para realizar alguna tarea. Las funciones de bajo nivel al registrar funciones pasadas como un handle pueden funcionar de modo asincrónico.

En otro escenario común, el callback es primero registrado y más tarde llamado asincrónicamente.

Usos

  • Función que lee un archivo de configuración y que asocia valores con opciones permitiendo al usuario personalizar en tiempo de ejecución.
  • Resolución de varias operaciones arbitrarias en una lista.
  • Señalización de errores.
  • También puede utilizarse para controlar si una función actúa o no.

El siguiente código en C demuestra el uso de funciones callback para sumar dos números:

/*Declaración de función*/

int func(int, int);

int main(void)
{

/* Variables */
int result1,result2;
/* La función de llamada toma un puntero para asignar la función. */
int (*ptrFunc)(int,int);

/* Se asigna el puntero a la función. */
ptrFunc = func;

/* Se llama a func() con los valores 10 y 20 de forma explicita. */
result1 = (*ptrFunc)(10,20);

/* Se llama a func() con los valores 10 y 20 de forma implícita. */
result2 = ptrFunc(10,20);
print(«result1 = %d result2 = %d\n»,result1,result2);

return 0;
}

int func(int x, int y)
{
return x+y;
}

Última actualización: noviembre 07, 2018

Deja un comentario

Facebook
Facebook
LinkedIn
YOUTUBE
YOUTUBE