⊗jsSpACInr 155 of 294 menu

Código asíncrono con callbacks en JavaScript

Supongamos que tenemos una función asíncrona:

function make() { setTimeout(function() { console.log('1'); }, 3000); }

Supongamos que usamos esta función de la siguiente manera:

make(); console.log('2'); // se ejecutará primero

Supongamos que queremos hacer que la segunda impresión en la consola se ejecute después de que se complete la operación asíncrona dentro de la función. Uno de los enfoques utilizados para esto es el uso de callbacks: envolvamos el código pendiente en una función anónima y la pasamos como parámetro a la función make:

make(function() { console.log('2'); });

Por supuesto, esto por sí solo no resolverá nuestra tarea. Por ahora solo hemos establecido el siguiente acuerdo: si desea ejecutar código después de que se active make, pase este código como callback en la llamada a make.

Corrijamos el código de la función make para que comience a funcionar de acuerdo con nuestro acuerdo:

function make(callback) { setTimeout(function() { console.log('1'); // alguna operación asíncrona, puede ser más de una callback(); // luego nuestro callback }, 3000); }

Explique en qué orden se mostrarán los números en la consola:

function make(callback) { setTimeout(function() { console.log('1'); callback(); }, 3000); } make(function() { console.log('2'); console.log('3'); });
deidswplcs