LINUX.ORG.RU

Как работают таймеры в Javascript?

 , settimeout


0

1

Для тестов мне нужно делать таймауты, чтобы между вызовами функций была небольшая задержка.
Как я понимаю, в JS нет прямого аналога sleep и для пауз надо использовать setTimeout, который как я понял асинхронный и суть аналог sleep &
Но я тогда не понимаю, почему этот код выполняется последовательно и выводит 1 2 3, а не 3 2 1 (даже просмотр «Call stack, heap, queue, event loop - Talk.JS » ничего не прояснил)

function m()
{
    setTimeout(console.log("1"), 10000);
    setTimeout(console.log("2"), 5000);
};
function n()
{
    console.log("3");
};

m();
n();


Просьба без углублений в промисы и прочие колбэки, я ненастоящий сварщик

★★★★★

Ответ на: комментарий от x3al

Я подумал что комментарий про лямбду, объяснял как установка и сброс таймера делает код синхронным(как я понял из контекста).
А теперь получается нет никакого слипа, не зависимо от того есть там какой -то код или нет?

zolden ★★★★★
() автор топика
Ответ на: комментарий от x3al

Ну я с совместимостью
А так мне больше нравится yield

mystery ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.