@CoCoCoder
Новичок в веб-программировании,только учусь. :)

Кто может объяснить код?

Объясните,пожалуйста,как работает этот код? Сижу уже 3.5 часа, пропускаю его через отладчик в браузере, казалось бы знал все участвующие функции, после непонимания перечитал их от корки до корки ,но непонимание не ушло. Объясните, если не сложно.
function display(data, callback){
 
    // с помощью случайного числа определяем ошибку
    var randInt = Math.random() * (10 - 1) + 1;
    var err = randInt>5? new Error("Ошибка выполнения. randInt больше 5"): null;
     
    setTimeout(function(){
        callback(err, data);
    }, 0);
}
 
console.log("Начало работы программы");
 
display("Обработка данных...", function (err, data){
 
    if(err) throw err;
    console.log(data);
});
 
console.log("Завершение работы программы");

Это из учебника по Node.JS глава под названием "Асинхронность".
(я понимаю в общих чертах что происходит,но нет .... как бы это корректнее назвать... ощущения того,что я это понял! Вот,думаю,это наиболее корректный термин. Поскольку если меня попросят написать это,я скорее всего запутаюсь.
  • Вопрос задан
  • 204 просмотра
Решения вопроса 2
NeiroNx
@NeiroNx
Программист
Что не понятного? что функция выполняется на самом деле после выполнения всего кода? Это особенность setTimeout что он так выполняется, если задержка 0. Если бы выполнялся прямо в коде.
Ответ написан
wapster92
@wapster92 Куратор тега JavaScript
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы