¿Qué es la función de devolución de llamada en JavaScript?

JavaScript es como una oficina. Eres el jefe, solo das órdenes y tu trabajo ha terminado.

Nowz está bien pero hay una trampa. No sabes si alguien termina el trabajo o cuándo lo hace. Dejame darte un ejemplo. Le pediste a Ben que redactara una carta a Trump en busca de aprobación, le pediste a Joanna que presentara declaraciones de impuestos y le pediste a Johnny que administrara las computadoras. Estás bien.

Pero ahora no puede asignar a Ronnie para que llame a los asociados y comience a trabajar en el proyecto hasta que Ben termine de enviar la carta a Trump y Trump realmente lo apruebe. Entonces, hay una secuencia aquí. Y aquí entra en juego la función de devolución de llamada.

Digamos que tienes una función

función CallTrump () {…}
función InformAssociates (isApproved) {…}

Ahora, iniciará CallTrump y listo. Trump no tiene forma de devolverte la llamada. Entonces, ¿cuándo llamarás a InformAssociates? ¿Y con qué estado?

Bienvenido CB función, un caballero con una armadura brillante.

función CallTrump (devolución de llamada) {…}
función TrumpResponse (isApproved) {
Aprobado = isApproved;
InformAssociates (está aprobado);
}
función InformAssociates (isApproved) {…}

CallTrump (TrumpResponse)

Aquí, gracias a una función de devolución de llamada aprobada, nuestras vidas son más fáciles. CallTrump ahora toma una función de devolución de llamada que la función llamará una vez que haya terminado el procesamiento. Cuando se activa, la variable aprobada se actualizará y luego se llamará a InformAssociates con la respuesta adecuada.

Espero que haya ayudado, si lo hizo, siéntase libre de presionar el botón Upvote número impar de veces 😉

JavaScript es un lenguaje impulsado por eventos. En JavaScript, la ejecución de un programa nunca se bloquea, lo que lo hace sin bloqueo.

Considera este flujo

X(); // X se llama

Y (); // Y se llama

En este caso, digamos que Y tiene que hacer algo cuando X está terminado, pero dado que JS no está bloqueando, puede haber posibilidades de que Y sea llamado pero X aún no haya terminado.

Entonces, en este tipo de casos, Callback entra en escena. Lo que hacemos es llamar a X y enviar una función anónima como parámetro que se llamará cuando se complete el procedimiento dentro de X.

función X (devolución de llamada) {

// Algún procedimiento

callback.call (nulo);

}

X (función () {

// Su procedimiento va aquí porque se trata de una devolución de llamada que se llamará cuando finalice el procedimiento dentro de X

});

De manera similar, cuando se produce cualquier evento, se llama a la devolución de llamada de evento.

Tan obvio para el nombre. Es una función de devolución de llamada. Escucha un evento asincrónico como hacer clic o cargar, y asigna esta función para que se vuelva a llamar cuando ocurra ese evento.