Aprogramar con JavaScript - 16 Funciones callback

Поділитися
Вставка
  • Опубліковано 6 лис 2024

КОМЕНТАРІ • 54

  • @AprogramarConMarcos
    @AprogramarConMarcos  2 роки тому

    Lista de reproducción del curso completo gratuito de JS
    ua-cam.com/play/PLpJ0pHgIwPoHeOw6_yRERfEF5pXjyAIcK.html

  • @camilaacosta739
    @camilaacosta739 25 днів тому +1

    Después de ver 5 videos diferentes, por fin con este logré entender bien los callbacks

  • @mirianertel816
    @mirianertel816 Рік тому +1

    mire dos veces el video y me quedo clarito , simple la explicacion , muchas gracias por el aporte , un abrazo

  • @josemartinezflorez5230
    @josemartinezflorez5230 Рік тому +1

    me toco repetir el video estaba un poco difícil😊😊😊 pero ya lo entendí mil gracias señor Marcos

  • @ariellacayo4844
    @ariellacayo4844 Рік тому +1

    estaba con dudas a la primera, pero luego de la posterior explicacio, quedó todo claro, muy buena explicacion.

  • @joseanton7794
    @joseanton7794 Рік тому +1

    Funciones callbacks entendidas a pesar de la dificultad del concepto. Muchas gracias.

  • @Witcher_n
    @Witcher_n Рік тому +1

    despues de ver ver varios videos es el primero que me hace entender bien!! muchas gracias. nuevo sub

  • @Pablo-io2js
    @Pablo-io2js 3 роки тому +1

    Se entendió perfectamente bien. Al principio es complejo entenderlo, pero luego de varios repasos se logra entender. Muchas gracias!

  • @Facu_Sp
    @Facu_Sp Рік тому +1

    muy bien explicado todo , gracias por tu trabajo !

  • @raulnovas2562
    @raulnovas2562 2 роки тому +1

    que buen video!!!.. perfectamente explicado, me ayudo muchisimo, muchas gracias!!..

  • @xd-uj4xu
    @xd-uj4xu 7 місяців тому +1

    sos crack explicando!!!

  • @Lucian...oo0
    @Lucian...oo0 Рік тому +1

    Muy buenas , muchas gracias por el tutorial, muy buena explicación !

  • @ivorguzman1736
    @ivorguzman1736 2 роки тому +1

    Explicación clara y excelente gracias

  • @3874396122
    @3874396122 2 роки тому +1

    brillante las explicaciones

  • @elrodrygammer
    @elrodrygammer Рік тому +1

    Muy Bien explicado

  • @santiagomolina486
    @santiagomolina486 2 місяці тому +1

    GRACIAS HERMANOOOO!!

    • @AprogramarConMarcos
      @AprogramarConMarcos  2 місяці тому +1

      Hola te cuento que para poder seguir ayudándoles decidí compartir con unos pocos mi nube privada de One Drive, casi 1 terabyte de información, cursos, libros, y mucho material realmente valioso. No vendo nada a nadie, lo hago para recaudar dinero para gastos y te puedo dar acceso hasta junio 2025 por solo 13 euros de donativo (un solo pago por paypal). Si te interesa envía tu donativo y te enviaré por email el acceso, te aseguro que lo vale. El enlace es de PayPal a mi nombre y como 3d4every1 que es mi otro canal de youtube.
      Link para donar: paypal.me/3d4every1?country.x=AR&locale.x=es_XC
      Gracias por tu contribución y confiar en mi como instructor.

  • @criadordeperroslostresdona9695
    @criadordeperroslostresdona9695 2 роки тому +1

    gracias muy buena explicacion

  • @juanpablomontiveros1462
    @juanpablomontiveros1462 Рік тому +1

    genial el video

  • @pablove5235
    @pablove5235 Рік тому +1

    Muy buena explicación 👌

  • @CYBERKRANE
    @CYBERKRANE Рік тому +2

    entendí perfecto las funciones callback, lo que no entiendo es, como un año después de grabado el video la leche vale $189 y el pan $420 esto rompe cualquier código. Saludos Marcos y un abrazo grande desde Córdoba.

    • @AprogramarConMarcos
      @AprogramarConMarcos  Рік тому

      En argentina tenemos una inflación de mas del 100 anual así que hoy sale mas... mucho mas.

  • @emilricardo728
    @emilricardo728 9 місяців тому

    muy buena explicacion, muchas gracias Marcos!

  • @johansmith2398
    @johansmith2398 Рік тому +2

    Hola, soy nuevo en este mundo de la programación y quería hacer un aporte de cómo lo entendí yo, y es que mientras transcribí el código para entender su funcionamiento me dí cuenta que dentro de la primera función que es comprar la última línea de código de esa función es una especie de "función" la cual se llamo "función(gastado)", digo especie de función por que está recibiendo un parámetro que es gastado, pero más bien es como un método o la forma de poder llamar y hacer referencia a el tercer parámetro de la función comprar el cual a su vez hace un llamado o alberga un resultado como parámetro que es gastado, hasta antes de que se invoque la función de esta manera "comprar('leche', 'pan', imprimir); esa supuesta function de la que hablamos "función(gastar)", (si tienes el quokka) activo lo va a marcar como un error de que esa función no está definida, ahí fue donde me di cuenta que simplemente es la forma de agregar el tercer parámetro y que cuando se haga llamado de la función comprar se pueda utilizar una función en el tercer parámetro espero me de a entender y sea de ayuda para digerir mejor esta parte saludos.

  • @damianpesse8704
    @damianpesse8704 Рік тому +2

    Hola Marcos, dos preguntas. Como el programa sabe que funcion (gastado) son los parametros que luego function imprimir recibe como argumentos en (mensaje).
    Es porque funcion al tener inmediatamente () lo interpreta como una fuction?
    Entiendo lo que estas explicando, lo que no puedo es razonar de porque sucede. Gracias por los videos son muy excelentes

    • @AksYumeStudios
      @AksYumeStudios Рік тому

      estoy con la misma duda me cuesta razonar esa razón, tocara ir a la maquina y analizar hasta comprender

    • @AprogramarConMarcos
      @AprogramarConMarcos  7 місяців тому +1

      Cuando una función se llama con paréntesis `()`, se ejecuta inmediatamente. Si una función es pasada como argumento a otra función sin paréntesis, se pasa la referencia de la función, es decir, se pasa la función en sí misma y no se ejecuta. Sin embargo, si incluyes paréntesis junto con el nombre de la función cuando la pasas como argumento, estás ejecutando esa función y pasando el resultado de esa ejecución como argumento.
      Veamos un ejemplo para aclarar esto:
      function gastado(mensaje) {
      console.log("Función gastado ejecutada con mensaje:", mensaje);
      }
      function imprimir(funcion, mensaje) {
      console.log("Antes de ejecutar la función");
      funcion(mensaje); // Ejecutando la función que recibimos como argumento
      console.log("Después de ejecutar la función");
      }
      // Llamando a la función imprimir y pasando la función gastado como argumento
      imprimir(gastado, "Hola");
      En este ejemplo, cuando pasamos `gastado` como argumento a la función `imprimir`, no incluimos paréntesis después de `gastado`. Esto significa que estamos pasando la referencia de la función `gastado` a la función `imprimir`. Dentro de `imprimir`, cuando llamamos a `funcion(mensaje)`, estamos ejecutando la función `gastado` con el mensaje `"Hola"` como argumento.
      Si quisieras ejecutar la función `gastado` antes de pasarla como argumento a `imprimir`, podrías hacerlo de la siguiente manera:
      imprimir(gastado("Hola"), "Mensaje después de ejecutar gastado");
      En este caso, `gastado("Hola")` se ejecuta primero y devuelve lo que sea que `gastado` devuelva (en este caso, `undefined`, ya que `gastado` no devuelve nada explícitamente). Luego, el resultado de esa ejecución (en este caso, `undefined`) se pasa como argumento a `imprimir`.

  • @josue-Emma
    @josue-Emma Рік тому +1

    Gracias por compartir su conocimiento, me ha surgido una pregunta la cual es ¿En qué tipo de situaciones se puede utilizar esto ya que por lo que entiendo se puede llamar a una función en el interior de otra sin necesidad de colocar como parámetro una función ? Espero sea clara mi pregunta de igual forma gracias por su contenido.

    • @AprogramarConMarcos
      @AprogramarConMarcos  Рік тому +2

      Los callbacks en JavaScript son funciones que se pasan como argumentos a otras funciones y se invocan en un momento posterior. Se utilizan en una variedad de situaciones, especialmente en entornos asincrónicos o eventos, donde se espera una respuesta o se necesita realizar una acción una vez que se completa una tarea.
      Aquí hay algunas situaciones comunes en las que se utilizan los callbacks en JavaScript:
      Operaciones asincrónicas: Los callbacks son ampliamente utilizados en operaciones asincrónicas, como solicitudes AJAX, lectura de archivos, consultas a bases de datos, etc. Permiten manejar la respuesta o el resultado una vez que la operación asincrónica ha finalizado.
      Eventos del usuario: Los callbacks se utilizan para manejar eventos generados por los usuarios, como hacer clic en un botón, mover el mouse, introducir datos en un formulario, etc. Al proporcionar un callback como función de manejo de eventos, se ejecutará cuando ocurra el evento específico.
      Temporizadores y esperas: Los callbacks se utilizan con funciones como setTimeout() y setInterval(). Puedes especificar una función de callback para que se ejecute después de un cierto período de tiempo o de forma repetida en intervalos regulares.
      Promesas: Las promesas en JavaScript también utilizan callbacks para manejar los resultados exitosos o errores una vez que se resuelve o rechaza una promesa.
      Callbacks de error: Los callbacks también se utilizan para manejar errores. Se pueden pasar como argumentos adicionales a una función, lo que permite que la función de callback se ejecute en caso de que ocurra un error durante la ejecución de la función principal.
      En resumen, los callbacks en JavaScript son útiles en situaciones en las que se necesita realizar acciones asincrónicas, manejar eventos del usuario, establecer temporizadores o manejar errores. Permiten una programación más flexible y reactiva al ejecutar código en el momento adecuado.

    • @josue-Emma
      @josue-Emma Рік тому

      @@AprogramarConMarcos Muchas gracias por su respuesta, comprendi mejor este tema con la situación de eventos de usuario ya que estos pueden activar una funcion, pero no sabe cual activar asta que se lo pasemos como argumento

  • @mentedecuriosidad
    @mentedecuriosidad 2 роки тому

    Excelente, para fines de aclaración la segunda función ´function imprimir (mensaje) se imprime abajo por el orden que el teacher coloco en los parametros de la primera funcion. saludos.

  • @elrodrygammer
    @elrodrygammer Рік тому +1

    👍👍👍💪💪💪

  • @MarceloKralik
    @MarceloKralik 6 місяців тому

    Gracias

  • @soulhunter223
    @soulhunter223 9 місяців тому +1

    Que buen ejemplo el de leche y pan me recordó a Scratch

  • @Conde81
    @Conde81 Рік тому +1

    Hola, me gustaría saber como es que va a parar el valor 135 a la variable "mensaje", que podría ser "x" o cualquier otra letra o nombre de variable, no logro entender. En ningún momento se le asigna el valor 135 "let mensaje = 135" ¿? Me vuelvo loco!

    • @AprogramarConMarcos
      @AprogramarConMarcos  Рік тому +1

      No tienes que volverte loco, cada vez que te des contra la pared, mira el siguiente video. Eventualmente todo quedara entendido, hazme caso. Toma nota de tu duda, en que video fue y sigue, ve si a medida que tu conocimiento crece puedes responder tus dudas.

  • @albertomatar4860
    @albertomatar4860 2 роки тому +1

    Hola, una consulta, no me funciona esto ${}, alguna sugerencia? Muchas gracias, saludos!

    • @AprogramarConMarcos
      @AprogramarConMarcos  2 роки тому +1

      Si no te funciona es porque las comillas no son los backtics, copia y pega estas que te paso aqui `Esto si tiene que funcionar ${ }.`

    • @albertomatar4860
      @albertomatar4860 2 роки тому

      @@AprogramarConMarcos Gracias no estaba usando comillas invertidas. Saludos!

  • @leandrov8992
    @leandrov8992 Рік тому +1

    tuve que verlo como 6 o 7 veces ppor que no entendia. me quedaba en la segunda funcion no sabia como es que el parametro mensaje obtiene 135.

  • @damianmanzino5655
    @damianmanzino5655 2 роки тому

    Nunca mejor explicada una funcion Callback, y la palabra clave: "....este es todo el rollo con estas funciones".

  • @chronos_rs8568
    @chronos_rs8568 2 роки тому +1

    Buen video , Marcos . Todo bien pero la parte que me costó entender y que me rayó fue cuando dices : "le estoy dando valores a la leche y el pan ( 4:34 ) ". Por el hecho de pasarle los dos primeros argumentos que son de cadena . Esa parte me confunde , ya que en la declaración de la función se establecen parámetros que son variables locales con su respectivo identificador de variable (articulo1, articulo2) y se reserva espacio en memoria para ellos . luego con la llamada a la función y sus argumentos es que se actualizan los valores que estos han de almacenar . entonces , cuando dices : "le estoy dando valores a la leche y el pan ( 4:41 ) , es como si estas cadenas hicieran de identificadores y que son variables que ahora están prestos a almacenar valores numéricos (65, 70) . no quiero hacerme el listo ni mucho menos , pero quiero cerciorarme que estoy entendiento porque mucho de lo que aprenderemos exige que tengamos todo claro y comprendido.
    En fin , si estoy en lo cierto ese par de cadenas no tendrían utilidad ya que las variables donde se guardan empiezan sobreescribiendo sus valores .
    function comprar(articulo1, articulo2, funcion){
    console.log(`Valor del articulo1 : ${articulo1}`) ;
    console.log(`Valor del articulo2 : ${articulo2}`) ;
    articulo1 = 65 ;
    articulo2 = 70 ;
    let gastado = articulo1+articulo2 ;
    console.log(`
    Valor del articulo1 : ${articulo1}`) ;
    console.log(`Valor del articulo2 : ${articulo2}`) ;
    funcion(gastado) ;
    }
    function imprimir ( mensaje ){
    console.log(`
    El monto de la compra fue de ${mensaje} bitcoins. vuelva pronto ^^`) ;
    }
    comprar("leche", "pan", imprimir) ;

    • @AprogramarConMarcos
      @AprogramarConMarcos  2 роки тому

      Te soy honesto no puedo poner a ver el video y tratar de explicarte a vos puntualmente lo que te puede costar, mi consejo es que sigas adelante y no te frenes ni por mi ni por nadie. Sigue adelante eventualmente lo resolveras.

    • @chronos_rs8568
      @chronos_rs8568 2 роки тому

      Valoro la honestidad de tus palabras y la exhortación a que continúe aprendiendo , Marcos . ciertamente yo empecé el curso ya con algunas lecturas sobre javascript , por lo que no se me hace tan difícil y aparte algunas cosas ya sé . respecto al comentario que hice , solo buscaba otra perspectiva al respecto , algunas sutilezas importantes que sé que existen cuando se explica este mecanismo . En fin , gracias por responder , capo . seguiré remando .

  • @juanartigau2420
    @juanartigau2420 Рік тому

    funcion is a not function es lo que me sale en la linea 7

  • @cheems4403
    @cheems4403 2 роки тому +1

    el nombre funcion hace confundir pero la entendi

  • @leomax522
    @leomax522 Рік тому +1

    Marcos, en este video con esa explicación, se confundió todo porque nació mal el ejemplo.

  • @acruzdelmonte
    @acruzdelmonte Рік тому +1

    Me costo entender el callback del ejercicio antes de que iniciaras con la explicación.

  • @alejandrovallejo3453
    @alejandrovallejo3453 7 місяців тому

    Profe disculpe, siempre que veo sus clases me gusta hacer un ejercicio diferente que pueda aplicar tratando de combinar los conocimientos previos. escribi la siguiente línea de código pero no me regresa el return, revisé pero no logro entender el por qué. me podría ayudar o alguien que vea? Dejo la línea de código. los console.log si me dan los valores esperados.
    function reciboCompraSuper (item1, item2, item3, descount, total) {
    let descuento = -(item1 + item2 + item3)*0.01;
    let totalgastado = item1 + item2 + item3;
    descount (descuento)
    total (totalgastado)
    return (`RECIBO POR ${item1},${item2},${item3}, CON UN DESCUENTO DE ${descount} ES ${total}`)
    }
    function verDescount (descuento){
    console.log(`el descuento es ${descuento}`)
    }
    function verTotal (total){
    console.log(`el total pagado es ${total}`)
    }
    reciboCompraSuper (10, 7, 2.5, verDescount, verTotal)

    • @fernandoirusta1039
      @fernandoirusta1039 5 місяців тому

      function reciboCompraSuper(item1, item2, item3, descount, total) {
      let totalgastado = item1 + item2 + item3;
      let descuento = totalgastado * 0.01;
      descount(descuento);
      total(totalgastado);
      return `RECIBO POR ${item1}, ${item2}, ${item3}, CON UN DESCUENTO DE ${descuento} ES ${totalgastado - descuento}`;
      }
      function verDescount(descuento) {
      console.log(`El descuento es ${descuento}`);
      }
      function verTotal(total) {
      console.log(`El total gastado es ${total}`);
      }
      console.log(reciboCompraSuper(10, 7, 2.5, verDescount, verTotal));

    • @fernandoirusta1039
      @fernandoirusta1039 5 місяців тому

      cuando tengas dudas consulta con chatgpt, te corrige los ejericicios y te marca los errores que tuviste.