cuaderno de campo

anotaciones

Menú
  • casa
    • dinou del carrer nou
  • cocina
    • pan
    • repostería
    • verdura
  • huerto
    • plano del número 29
    • huerto del año 2023
  • humanidades
    • fonoteca
    • galería
  • juego
    • colección de roms
    • lista de juegos
    • dosbox
  • linux
    • bash
    • sistema operativo
    • ssh
  • web
    • apache
    • css
    • html5
    • javascript
    • mysql
    • php
Menú

javascript: callback y asincronía

Publicado el 16 de marzo de 201726 de febrero de 2021 por ernesto

es frecuente llamar una función al cabo de otra con el propósito de secuenciar (ordenar) la ejecución del código:

function a(m)
{
     var b = m + 3;
     c(m);
}
a(7);

en este caso, se pretenden ejecutar las órdenes de la función a() antes de llamar a la función c() porque, probablemente, la ejecución de la función c() dependa del resultado de la función a(). sucede, no obstante, que javascript es asincrónico: la asincronía en javascript puede provocar que la función de retorno c() se ejecute aún cuando no se ha resuelto el valor de la variable b, esto es, antes de tiempo:

function c(m)
{
     console.log(m);
}
function a(m)
{
     var b = m + 3;
     c(m);
}
a(7);

en suma: se imprimiría un siete en consola antes de que se haya resuelto el valor de b. no hay mayor problema en este ejemplo: la ejecución de c() no depende de a(). no obstante, si le pasamos la variable b como argumento a la función c:

function a(m)
{
     var b = m + 3;
     c(b);
}
a(7);

javasript no llamará a la función c() hasta que no se haya obtenido el resultado del argumento b, es decir, primero resolverá b y después llamará a c(), que devolverá, en este caso, un diez en consola.

Etiquetado como callback
  • tinymce: algunas notas sin orden

    callback tras iniciar el editor init_instance_callback: function (editor) { console.log("Tinymce está en marcha."); } la…

  • constante en heredoc

    una constante no devuelve su valor dentro de la sintaxis heredoc: define("C", "constante"); echo <<<HTML…

  • desactivación de las etags

    FileETag None <IfModule mod_headers.c> Header unset ETag </IfModule> esta es la manera de excluir el…

RSS rutas fuera

  • Beats and yelling shorts, 29th September 23 29 de septiembre de 2023 Hate Meditations
  • Open Directory of Slayer Bootlegs, Live, and Rare 29 de septiembre de 2023 Brett Stevens
  • Beats and yelling: Demoniac and the not renaissance of thrash 28 de septiembre de 2023 Hate Meditations
  • Manowar Re-Imagined Through Hurdy-Gurdy Cover of “The Crown and the Ring” 27 de septiembre de 2023 Brett Stevens
  • Ascendency – A Manifest of Imperious Destiny EP (2023) 26 de septiembre de 2023 Belisario
  • VINT-I-QUATRE 26 de septiembre de 2023 Pablo Sánchez Silva
  • VINT-I-TRES 26 de septiembre de 2023 Pablo Sánchez Silva
  • Conociendo la Criptozoología con Javier Resines en “Más allá de la verdad” 26 de septiembre de 2023 Javier Resines
  • Gridlink – Coronet Juniper (2023) 26 de septiembre de 2023 Raphael Alecto

Categorías

apache bash casa cocina corral css exterior fonoteca galería html5 huerto humanidades humanidades digitales interior jardín javascript juego linux mysql pan php repostería sistema operativo ssh verdura web

Archivo

cuaderno de campo 2011-2023