как setTimeout предотвращает потенциальный переполнение стека
Пример :
var list = readHugeList();
var nextListItem = function() {
var item = list.pop();
if (item) {
setTimeout( nextListItem, 0);
// ^^^^^^^^ this line
}
};
Как использование setTimeout предотвращает потенциальный переполнение стека? Я понимаю концепцию как очереди событий, так и стека, но мне трудно соединить их.