Callbacks
Se tratan de un concepto para estructurar funciones de JavaScript, consiste en una función la cual realiza el llamado a otra, es decir es cuando se utiliza una segunda función en la ejecución de la primera.
Existen dos formas de realizar un callback, ya sea realizando un llamado a la función externa como en el siguiente ejemplo:
En este ejemplo se realiza un "callback", ya que a la función "prueba" se le añade como parámetro la función "decirNombre", por lo tanto la función "prueba" asigna el valor "roberto" a la función "decirNombre", la cual imprime el valor en pantalla.
El código de este ejemplo funciona exactamente igual a un código estructurado de la siguiente manera:
También se puede realizar los "callback" como funciones flecha:
Defectos
El concepto de "callback", si bien presenta una solución o una alternativa al enfrentar multitud de problemáticas al programar, posee la desventaja de que en el caso de que se realicen varios "callback" a la vez es muy probable que se produzca código espagueti.
Es decir los callbacks si bien son muy útiles al programar también son muy poco legibles, por lo que pueden resultar complejos de comprender a la hora de leer el código, este tipo de desventaja es mejorada por las promesas.