Asynkronisen tuloksen välittäminen takaisinkutsussa JavaScriptissä

Oletetaan nyt, että asynkroninen operaatiota saatuaan valmiiksi ei tulosta mitään konsoliin, vaan saa jonkin tuloksen. Olkoon tämä tietotaulukko, joka olisi voitu esimerkiksi hakea AJAX:lla. Mutta koska emme osaa vielä käsitellä AJAX:ia, simuloidaan sen saaminen:

javascriptfunction make() {
  setTimeout(function() {
    let res = [1, 2, 3, 4, 5]; // taulukko tuloksella
  }, 3000);
}

Tehdään niin, että tulostaulukko välitetään takaisinkutsufunktion parametriksi:

javascriptfunction make(callback) {
  setTimeout(function() {
    let res = [1, 2, 3, 4, 5];
    callback(res); // välitetään tulos parametrina
  }, 3000);
}

Nyt, kun välitämme takaisinkutsufunktion funktion make kutsussa, voimme kirjoittaa siihen parametrin - ja tähän parametriin päätyy asynkronisen operaation tulos:

javascriptmake(function(res) {
  console.log(res); // taulukkomme
});
Задание 1

Täydennä takaisinkutsufunktion koodi niin, että se löytää tulostaulukon alkioiden summan.