⊗jsSpACPR 156 of 294 menu

Passagem assíncrona de resultado para callback em JavaScript

Suponha que agora a operação assíncrona, após sua conclusão, não exiba nada no console, mas obtenha algum resultado. Seja este um array com dados, que, por exemplo, poderia ser obtido via AJAX. Mas como ainda não sabemos trabalhar com AJAX, vamos simular essa obtenção:

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

Vamos fazer com que o array com o resultado seja passado para um parâmetro do callback:

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

Agora, ao passarmos o callback na chamada da função make, podemos escrever nele um parâmetro - e esse parâmetro receberá o resultado da operação assíncrona:

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

Complete o código do callback para que ele encontre a soma dos elementos do array com o resultado.

svkafrbyuzl