Aszinkron eredmény továbbítása callback-ben JavaScriptben
Tegyük fel, hogy az aszinkron művelet a befejezése után nem ír ki semmit a konzolra, hanem megszerez egy eredményt. Legyen ez egy tömb adatokkal, amit például AJAX-on keresztül szerezhetett volna meg. De mivel az AJAX-tal egyelőre nem tudunk dolgozni, egyszerűen szimuláljuk a megszerzést:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // tömb az eredménnyel
}, 3000);
}
Tegyük meg, hogy az eredménnyel tömbjük átadásra kerüljön a callback függvény paramétereként:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // átadjuk az eredményt paraméterként
}, 3000);
}
Most, amikor a callback függvényt átadjuk a
make függvényhívásnak,
írhatunk bele egy paramétert
- és ebbe a paraméterbe kerül az aszinkron
művelet eredménye:
make(function(res) {
console.log(res); // a mi tömbünk
});
Egészítse ki a callback kódját úgy, hogy megkeresi az eredmény tömbben lévő elemek összegét.