Асінхронная перадача выніку ў калбэк у JavaScript
Хай цяпер асінхронная аперацыя пасля свайго завяршэння не выводзіць нічога ў кансоль, а атрымлівае нейкі вынік. Хай гэта будзе масіў з данымі, які, напрыклад, мог бы быць атрыманы праз AJAX. Але так як з AJAX мы працаваць пакуль не ўмеем, то проста сымітуем гэта атрыманне:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // масіў з вынікам
}, 3000);
}
Зробім так, каб масіў з вынікам перадаваўся ў параметр калбэка:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // перадаем вынік параметрам
}, 3000);
}
Цяпер, пры перадачы калбэка ў выклік функцыі
make мы можам напісаць у ім параметр
- і ў гэты параметр трапіць вынік асінхроннай
аперацыі:
make(function(res) {
console.log(res); // наш масіў
});
Дапішыце код калбэка так, каб ён знаходзіў суму элементаў масіва з вынікам.