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.