⊗jsSpACPR 156 of 294 menu

Passage asynchrone du résultat dans un callback en JavaScript

Supposons maintenant qu'après son achèvement, l'opération asynchrone n'affiche rien dans la console, mais obtienne un certain résultat. Soit un tableau de données qui, par exemple, aurait pu être obtenu via AJAX. Mais comme nous ne savons pas encore utiliser AJAX, nous allons simplement simuler cette obtention :

function make() { setTimeout(function() { let res = [1, 2, 3, 4, 5]; // tableau avec le résultat }, 3000); }

Faisons en sorte que le tableau avec le résultat soit passé en paramètre du callback :

function make(callback) { setTimeout(function() { let res = [1, 2, 3, 4, 5]; callback(res); // on passe le résultat en paramètre }, 3000); }

Désormais, lors du passage du callback dans l'appel de la fonction make, nous pouvons y écrire un paramètre - et ce paramètre recevra le résultat de l'opération asynchrone :

make(function(res) { console.log(res); // notre tableau });

Complétez le code du callback pour qu'il trouve la somme des éléments du tableau résultat.

fruzrubytr