Объясните,пожалуйста,как работает этот код? Сижу уже 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 глава под названием "Асинхронность".
(я понимаю в общих чертах что происходит,но нет .... как бы это корректнее назвать... ощущения того,что я это понял! Вот,думаю,это наиболее корректный термин. Поскольку если меня попросят написать это,я скорее всего запутаюсь.