2017-09-25 95 views

回答

0

正如你可能已經知道的,Node.js使用的是單線程的V8(JavaScript)引擎。 I/O執行的核心是一個事件循環;當你阻塞事件循環時,它也會阻止其他事件的執行。

基本上,for循環之前執行,它開始阻塞事件循環。 setTimeout不保證您的代碼在300毫秒後正好執行,但更像是>= 300 ms。更好地瞭解事件循環read this

-1

基本上,您的代碼在單個線程中運行。 setTimeout的優先級低於您的標準代碼,因此它會先執行然後(因爲線程將被完成),它將從setTimeout執行您的功能。

setTimeout(milliseconds)運行函數的速度不會超過指定的毫秒數。