cuaderno de campo

anotaciones

Menú
  • casa
    • cocina
      • pan
      • verdura
    • dinou del carrer nou
    • nadal : una carta
    • plano
  • huerto
    • instrucciones sobre el huerto
    • huerto del año 2022
  • humanidades
    • fonoteca
      • Noches en Poderna
      • El canto de las aves
    • galería
    • mala lluna
    • rutas fuera
    • umbrario
    • El misterio de Sant Mena
  • jardín
    • instrucciones sobre el jardín
    • exterior
    • interior
    • viveros
  • juego
    • listado de juegos
  • 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

  • HS: Laure le Prunenec (Rïcïnn, Öxxö Xööx, Corpo-Mente, ex-Igorrr, etc) 27 de marzo de 2023 hessianfirm
  • Gracias por asistir a la presentación de “Criptozoología en España” 27 de marzo de 2023 Javier Resines
  • Demilich “Last Show Ever” In Madrid Tonight 26 de marzo de 2023 Brett Stevens
  • Fourth Monarchy – Nocturnal Odes of a Wandering Spirit (2023) 25 de marzo de 2023 Brett Stevens
  • Esta tarde, Criptozoología con Vicente Fuentes 23 de marzo de 2023 Javier Resines
  • Beats and yelling from: Yaaroth, Verminous Serpent, Svraoz 22 de marzo de 2023 Hate Meditations
  • Xerrada: La importància de les llavors locals 22 de marzo de 2023 moon
  • Beats and yelling from: Cromlech, Contrarian, Skrying Mirror 21 de marzo de 2023 Hate Meditations
  • Necropolis #62 – On Burzum (Band Focus) 19 de marzo de 2023 Hate Meditations

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