Я знаком с этим поведением, но не имею слова, чтобы описать (и, следовательно, Google) его.Что такое связанная с таймаутом функция javascript?
setTimeout(function() { alert("timeout!"); }, 1000);
veryLongProcess(); // lasts longer than 1000 milliseconds
Я считаю, что результатом этого является то, что вы получите ваше предупреждение после того, как долго процесс будет завершен, то есть больше, чем на 1 секунду после того, как код был выполнен. Я предполагаю, что это как тайм-ауты, отправляющие функции в какой-то отдельный «поток» или «стек» или «цикл», который может запускаться только после завершения текущего, , даже если, что текущий занимает больше времени, чем было определено для таймаута.
Есть ли название для этого? Как я могу узнать больше о том, как это работает?
Я считаю, что слово, которое вы ищете, является «задержкой». – ejc
Одиночная резьба? http://ejohn.org/blog/how-javascript-timers-work/ – j08691
_'Я представляю это как функции отправки тайм-аутов в отдельный «поток» или «стек» или «цикл», который может запускаться только после текущего закончен, даже если этот ток занимает больше времени, чем таймаут был изначально указан для .'_ - Это правильно как приблизительное или нетехническое описание того, что происходит. JavaScript является однопоточным (если вы игнорируете веб-работников), поэтому 'setTimeout' ставит очередь на функцию, которая запускается позже в том же потоке, а затем, если какой-либо другой JS работает в этой точке, время ожидания задерживается. – nnnnnn