Asinhroni prenos rezultata u kolbek u JavaScript-u
Neka sada asinhrona operacija nakon svog završetka ne ispisuje ništa u konzolu, već dobije neki rezultat. Neka to bude niz sa podacima, koji je, na primer, mogao biti dobijen preko AJAX-a. Ali pošto sa AJAX-om još ne znamo da radimo, onda ćemo prosto simulirati ovo dobijanje:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // niz sa rezultatom
}, 3000);
}
Učinićemo da se niz sa rezultatom prosleđuje kao parametar kolbeku:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // prosleđujemo rezultat kao parametar
}, 3000);
}
Sada, pri prosleđivanju kolbeka u poziv funkcije
make možemo u njemu napisati parametar
- i u ovaj parametar će upasti rezultat asinhrone
operacije:
make(function(res) {
console.log(res); // naš niz
});
Dopunite kod kolbeka tako da on pronalazi zbir elemenata niza sa rezultatom.