Node JS 中的 settimeout
Isaac Tony
2023年10月12日
setTimeOut()
函式是一個非同步函式,用於在指定時間後執行一段程式碼。
這是我們可以用來排程 Node js API 提供的程式碼的幾種方法之一。此方法在視窗物件和伺服器端都可用。
但是,它在伺服器端的實現與 window 物件中使用的不同。
在 NodeJS 中使用 setTimeOut()
函式
setTimeOut()
函式在 Timers 模組下提供。該模組提供了各種方法,我們可以使用這些方法來安排函式在指定時間後呼叫。
由於 Timer 物件是一個全域性物件,因此在使用 setTimeOut()
函式時,我們的程式碼中不需要 require()
任何內容。
setTimeout()
函式接受幾個引數,包括:
- 該功能將在設定的時間間隔過後執行。
- 計時器在執行指定函式之前將等待的時間(以毫秒為單位)。
- 額外的可選引數。
此函式返回一個正整數
值,用於標識由對該函式的呼叫建立的計時器,通常稱為 timeoutID
。
這是 setTimeOut()
函式的語法。
setTimeout(function [, delay, arg1, arg2, ...]);
setTimeOut()
函式的一個簡單示例,用於在函式之間暫停執行一定的毫秒數。
const display =
() => {
console.log('Some code to be executed !');
}
// function may contain more parameters
setTimeout(display, 4000)
輸出:
Some code to be executed !
setTimeOut()
的非同步特性在執行多個相互等待的函式時顯露出來。在下面的示例中,執行第一個函式之前的平均等待時間為 6 秒
。
現在同時執行第二個函式。但是,由於執行第二個函式的平均等待時間是 4 秒
,因此最後一個函式首先執行,然後是第二個函式,最後是第一個函式。
setTimeout(() => {console.log('This is the first statement')}, 6000);
setTimeout(() => {console.log('This is the second statement')}, 4000);
setTimeout(() => {console.log('This is the final statement')}, 2000);
輸出:
This is the final statement
This is the second statement
This is the first statement
作者: Isaac Tony
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn