我對 Node.js 檔案的以下段落感到困惑。
![]()
另外,請閱讀此答案(這是最好的答案,它通過內部代碼并解釋了哪個部分與平臺相關且 CPU 耗時,并生成不確定性以及 0 在內部轉換為 1 的事實setTimeout) 對 nodejs 提出的一個問題提出了同樣的問題,這似乎可以進一步解釋它。
需要注意的另一件重要的事情是 setTimeout 當設定為 0 時在內部轉換為 1。
這個對 uv__hrtime 的呼叫是依賴于平臺的,并且是 CPU 耗時的作業,因為它對 clock_gettime 進行系統呼叫。它受到機器上運行的其他應用程式的影響。
如果第一個回圈之前的準備時間超過 1 毫秒,那么 Timer Phase 會呼叫與其關聯的回呼。如果它小于 1 毫秒,則事件回圈繼續到下一個階段,并在回圈的檢查階段運行 setImmediate 回呼,并在回圈的下一個滴答聲中運行 setTimeout。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/498337.html
標籤:javascript 节点.js 异步 打回来 事件循环

