jueves, 28 de mayo de 2020

Callbacks en javascript

Callbacks en javascript

Una función de callback es una función pasada a otra función como argumento, y que luego se invoca dentro de la función externa para completar algún tipo de rutina o acción, los usamos para asegurarnos de que se ejecute la primera función tarde el tiempo que tarde y despues se ejecute la segunda funcion.

Por ejemplo si yo tengo el siguiente ejemplo en javascript:

function primeraFuncion(){
console.log(‘primera funcion’);
}
function segundaFuncion(){
console.log(‘segunda funcion’);
}


primeraFuncion();
segundaFuncion();

El orden de ejecucion es:
  • primera funcion
  • segunda funcion

Las funciones se ejecutan secuencialmente una detrás de otra, pero que pasa si por lo que sea la primera funcion se queda bloqueada, o tarda mas tiempo en responder.
Como javascript es un lenguaje orientado a eventos, en lugar de esperar a terminar la primeraFuncion, ejecutara la segundaFuncion y cuando acabe ejecutara la primera cuando este disponible


function primeraFuncion(){
  var retardo = functionRetardo(1000);
  console.log(‘primera funcion’); 
function segundaFuncion(){
   console.log(‘segunda funcion’); 
primeraFuncion(); 
segundaFuncion();

El orden de ejecucion es:
  • segunda funcion
  • primera funcion



function saludar(nombre) { //una funcion de callback
console.log('Hola ' + nombre);
}
function procesarUsuario(callback) { // se pasa la funcion de callback como argumento
var nombre = prompt('Introduce tu nombre: ');
callback(nombre);
}
procesarUsuario(saludar);
 



Llamamos a procesarUsuario como parametro el nombre de la funcion saludar, callback sustituye a saludar




function Sumar(a, b, callback){
return callback(a+b);
}
Sumar(5, 6, function(r){
console.log('El resultado es ' + r);
})

function sumar(fn,x,y){
console.log(fn(x,y));
}

sumar(function(x,y){
return x+y;
},2,3)

function sumar(fn){
console.log(fn(5,2));
}

sumar( function(x,y){
return x+y;
} )

No hay comentarios:

Publicar un comentario