Асинхронная передача результата в коллбэк в 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); // наш массив
});
Допишите код коллбэка так, чтобы он находил сумму элементов массива с результатом.