⊗jsSpACPR 156 of 294 menu

Transferencia asíncrona del resultado a un callback en JavaScript

Supongamos ahora que la operación asíncrona, después de completarse, no imprime nada en la consola, sino que obtiene un resultado. Que este sea un array con datos, que, por ejemplo, podría haberse obtenido mediante AJAX. Pero como aún no sabemos trabajar con AJAX, simplemente simularemos esta obtención:

function make() { setTimeout(function() { let res = [1, 2, 3, 4, 5]; // array con el resultado }, 3000); }

Hagamos que el array con el resultado se pase como parámetro al callback:

function make(callback) { setTimeout(function() { let res = [1, 2, 3, 4, 5]; callback(res); // pasamos el resultado como parámetro }, 3000); }

Ahora, al pasar el callback en la llamada a la función make podemos escribir en él un parámetro - y en este parámetro llegará el resultado de la operación asíncrona:

make(function(res) { console.log(res); // nuestro array });

Complete el código del callback para que encuentre la suma de los elementos del array con el resultado.

uzcpthutrpl