Асинхронная передача результата в коллбэк в 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

Допишите код коллбэка так, чтобы он находил сумму элементов массива с результатом.