⊗jsSpACPR 156 of 294 menu

Асінхронная перадача выніку ў калбэк у 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); // наш масіў });

Дапішыце код калбэка так, каб ён знаходзіў суму элементаў масіва з вынікам.

kktrhynlro