JavaScript-ში ასინქრონული შედეგის გადაცემა კოლბექში

დავუშვათ, ახლა ასინქრონული ოპერაცია თავისი დასრულების შემდეგ არაფერს არ აჩვენებს კონსოლში, არამედ იღებს გარკვეულ შედეგს. დაე, ეს იყოს მონაცემთა მასივი, რომელიც, მაგალითად, შეიძლებოდა მიეღო AJAX-ის მეშვეობით. მაგრამ რადგან AJAX-თან მუშაობა ჯერ არ ვიცით, უბრალოდ სიმულაცია გავაკეთოთ ამ მიღებას:

javascriptfunction make() {
  setTimeout(function() {
    let res = [1, 2, 3, 4, 5]; // მასივი შედეგით
  }, 3000);
}

გავაკეთოთ ისე, რომ მასივი შედეგით გადაეცეს კოლბექის პარამეტრს:

javascriptfunction make(callback) {
  setTimeout(function() {
    let res = [1, 2, 3, 4, 5];
    callback(res); // შედეგს პარამეტრად ვაწვდით
  }, 3000);
}

ახლა, კოლბექის გადაცემისას ფუნქციის გამოძახებაში make ჩვენ შეგვიძლია დავწეროთ მასში პარამეტრი - და ამ პარამეტრში მოხვდება ასინქრონული ოპერაციის შედეგი:

javascriptmake(function(res) {
  console.log(res); // ჩვენი მასივი
});
Задание 1

დაწერეთ კოლბექის კოდი ისე, რომ მან იპოვოს მასივის ელემენტების ჯამი შედეგით.