0

suelo programar mas que nada en lenguajes como Java o C# pero ahora que estudio Javascript me tope con el concepto de callback aun que con anterioridad ya lo había escuchado. Tengo como ejemplo este callback en JS anidado:

<script>
      const DESPERTAR = 3000//declaramos conatantes con un valor en milisegundos
      const DUCHA = 2000//declaramos conatantes con un valor en milisegundos
      const VESTIRSE =2000//declaramos conatantes con un valor en milisegundos
      const DESAYUNAR = 3000//declaramos conatantes con un valor en milisegundos
      const PLATZI = 5000//declaramos conatantes con un valor en milisegundos
      const $agenda = document.getElementById('accion')//tomamos el elemento del dom y lo guardamos en la constante $agenda

      setTimeout(()=>{//usamos un setTimeout para cambiar el valor del elemento del dom asignado a la constante $agenda
        $agenda.innerHTML=`Despertando...`

        setTimeout(()=>{//una vez ejecutado el primer timeout encadenamos un segundo para cambiar nuevamente el elemento del dom
          $agenda.innerHTML=`Duchandome...`
          setTimeout(()=>{//una vez ejecutado elsegundo encadenamos un tercero
            $agenda.innerHTML=`Vistiendome...`
            setTimeout(()=>{//y encadenamos un cuarto
              $agenda.innerHTML=`Desayunando...`
              setTimeout(()=>{//finalmente encadenamos un quinto timeout
                $agenda.innerHTML=`Estudiando en Platzi...`
              },PLATZI)
            },DESAYUNAR)
          },VESTIRSE)
        },DUCHA)
      },DESPERTAR)
    </script>

Este ejemplo me hizo preguntarme si un método (a diferencia de una función) devuelve un valor,

int area(int Altura, int Base)
{
  return (Base*Altura)/2;
}

Este método retorna un valor y es llamado para ejecutar una porción de codigo <---- Esta tengo entendido es la definición de un callback.

Ahora mi pregunta es: El callback para que sea realmente un callback debe ser una función asíncrona ?

Itsvan Moreno
  • 390
  • 3
  • 18
  • No acabo de entender las respuestas porque responden con el mismo concepto :L al parecer yo soy el que no le queda claro, supongo que sera cosa de seguir leyendo :c . – Itsvan Moreno Oct 04 '20 at 16:20
  • Si la respuesta vinculada no te sirve del todo, entonces debes ser mas claro en tu pregunta, indicando he revisado X de los callbacks, lo he analizado en mi código pero Y concepto(s) aún no terminan de quedarme claros – BetaM Oct 04 '20 at 16:21
  • Solo me gustaría que me explicaran el porque si o no un callback puede o no ser asíncrono. – Itsvan Moreno Oct 04 '20 at 16:25
  • 4
    Un `callback` es una función. La asincronía no va atada a los `callback`. Un método, proceso o función asíncrona es, en pocas palabras, un método que devolverá su resultado en un momento incierto futuro. En el caso de JS, al ser un proceso de único hilo, una de las formas de evitar que el programa se bloquee esperando el resultado de dicho proceso, es usar una función `callback` para recibir ese resultado y seguir operando con el mismo. No es necesario que una función `callback` sea asíncrona, lo que sí es necesario es que la misma se ejecute al momento en que un proceso asíncrono la llame. – Mauricio Contreras Oct 04 '20 at 16:56
  • 1
    Gracias, me quedo claro con este comentario, por favor si lo pusieras como respuesta daría como finalizada mi pregunta. – Itsvan Moreno Oct 04 '20 at 17:15

0 Answers0