curso node callbacks

empecemos por las funciones callbacks mas simples
se ejecutan despues de x milisegundos:


setTimeout(function(){
console.log('soy un callback!')
}, 1000);

setTimeout(()=>{
console.log('soy un callback flecha!')
}, 2000);


ahora creemos otra que nos devuelve los datos de un usuario

let getUsuarioById = (id, myCallback)=>{

//supongamos que el sgt objeto es traido desde la BD
let usuario ={
  id:id,
      nombre:'israel',
      apellido:'bazan'
};

myCallback(usuario); //ejecutamos el callback devolviendo el objeto usuario


};

//aqui llamamos a la funcion principal pero en el 2do parametro
//como sabemos que es una funcion callback que devuelve un objeto lo recibimos
//en la variable rpta


getUsuarioById(10, (rpta)=>{
console.log('usuario encontrado:',rpta);
});


lo cual va a imprimir

usuario encontrado: {id:10,nombre:'israel', apellido: 'bazan'}

Que pasaria si la busqueda del usuario no es exitosa?
debemos informar que sucedio un error, para esto es comun agregar un parametro extra de retorno
que hace referencia a un posible error.

let getUsuarioById = (id, myCallback)=>{

//supongamos que el sgt objeto es traido desde la BD
let usuario ={
  id:id,
      nombre:'israel',
      apellido:'bazan'
};
   
    if(id<=0){
    myCallback(`el usuario con id: ${id} no existe`);
    }else{
    myCallback(null,usuario);
}



};

getUsuarioById(10, (error,rpta)=>{
if(error){
   console.log(rpta);
}else{
console.log('Usuario encontrado:', rpta);
}

})



No hay comentarios:

Publicar un comentario

linux ubuntu mint actualizar chrome

 desde una terminal: $ sudo apt update $ sudo apt install google-chrome-stable