Я недавно начал изучать Javascript более подробно и как он выполняется в браузере. В частности, функция setTimeout.Javascript setTimeout надежность времени
Мое понимание заключается в том, что вызов setTimeout(foo,x)
передаст дескриптор foo для выполнения после x миллисекунд. Насколько надежно это время? Очевидно, если еще один длительный скрипт все еще выполняется после x миллисекунд, тогда браузер не сможет вызвать foo, но могу ли я быть абсолютно уверен, что setTimeout(foo,101)
будет всегда выполняться после setTimeout(foo,100)
?
Нет, вы не можете быть абсолютно уверены в чем-либо, а таймеры javascript также не очень точны, но большую часть времени они достаточно точны и будут выполнять функцию достаточно близко к установленному времени. – adeneo
Если я правильно помню, 'setTimeout (foo, x)' будет выполнять 'foo' * не раньше, чем xx миллисекунд *** позже. Документ MDN: https://developer.mozilla.org/en-US/docs/Web/API/Window.setTimeout – Passerby
Как вы знаете, JavaScript работает как однопоточное выполнение, поэтому он будет ждать в Que для своей очереди выполнения , но вы убедитесь, что заданный тайм-аут - это минимальное время. – anand4tech