⊗jsSpACPR 156 of 294 menu

Asynchronní předání výsledku do callbacku v JavaScriptu

Nechť nyní asynchronní operace po svém dokončení nic nevypisuje do konzole, ale získá nějaký výsledek. Nechť je to pole s daty, které by například mohlo být získáno přes AJAX. Ale protože s AJAX zatím neumíme pracovat, jednoduše to nasimulujeme:

function make() { setTimeout(function() { let res = [1, 2, 3, 4, 5]; // pole s výsledkem }, 3000); }

Uděláme to tak, aby pole s výsledkem bylo předáno jako parametr callbacku:

function make(callback) { setTimeout(function() { let res = [1, 2, 3, 4, 5]; callback(res); // předáváme výsledek jako parametr }, 3000); }

Nyní, při předání callbacku do volání funkce make můžeme v něm napsat parametr - a do tohoto parametru se dostane výsledek asynchronní operace:

make(function(res) { console.log(res); // naše pole });

Doplňte kód callbacku tak, aby našel součet prvků pole s výsledkem.

kauzlkkuzms