Module 基礎模塊

模塊timers

timers 模塊

靜態函數

setTimeout

在指定的時間後調用函數

1 2 3
static Timer timers.setTimeout(Function callback, Number timeout = 1, ...args);

調用參數:

  • callback: Function, 指定回調函數
  • timeout: Number, 指定延時的時間,以毫秒為單位。超過2^31 的話,立即執行。
  • args: ..., 額外的參數,傳入到指定的callback 內,可選。

返回結果:

  • Timer, 返回定時器對象

clearTimeout

清除指定的定時器

1
static timers.clearTimeout(Value t);

調用參數:

  • t: Value, 指定要清除的定時器

setInterval

每間隔指定的時間後調用函數

1 2 3
static Timer timers.setInterval(Function callback, Number timeout, ...args);

調用參數:

  • callback: Function, 指定回調函數
  • timeout: Number, 指定間隔的時間,以毫秒為單位。超過2^31 的話,立即執行。
  • args: ..., 額外的參數,傳入到指定的callback 內,可選。

返回結果:

  • Timer, 返回定時器對象

clearInterval

清除指定的定時器

1
static timers.clearInterval(Value t);

調用參數:

  • t: Value, 指定要清除的定時器

setHrInterval

每間隔指定的時間後調用函數,這是個高精度定時器,會主動打斷正在運行的JavaScript 腳本執行定時器

1 2 3
static Timer timers.setHrInterval(Function callback, Number timeout, ...args);

調用參數:

  • callback: Function, 指定回調函數
  • timeout: Number, 指定間隔的時間,以毫秒為單位。超過2^31 的話,立即執行。
  • args: ..., 額外的參數,傳入到指定的callback 內,可選。

返回結果:

  • Timer, 返回定時器對象

由於setHrInterval 的定時器會中斷正在運行的代碼執行回調,因此不要在回調函數內修改可能影響其它模塊的數據,或者在回調中調用任何標記為async 的api 函數,否則將會產生不可預知的結果。例如:

1 2 3 4 5 6 7 8 9 10
var timers = require('timers'); var cnt = 0; timers.setHrInterval(() => { cnt++; }, 100); while (cnt < 10); console.error("===============================> done");

這段代碼中,第8 行的循環並不會因為cnt 的改變而結束,因為JavaScript 在優化代碼時會認定在這個循環過程中cnt 不會被改變。


clearHrInterval

清除指定的定時器

1
static timers.clearHrInterval(Value t);

調用參數:

  • t: Value, 指定要清除的定時器

setImmediate

下一個空閒時間立即執行回調函數

1 2
static Timer timers.setImmediate(Function callback, ...args);

調用參數:

  • callback: Function, 指定回調函數
  • args: ..., 額外的參數,傳入到指定的callback 內,可選。

返回結果:

  • Timer, 返回定時器對象

clearImmediate

清除指定的定時器

1
static timers.clearImmediate(Value t);

調用參數:

  • t: Value, 指定要清除的定時器

call

調用給定的函數,並在超時時間到期時中斷函數運行

1 2 3
static Value timers.call(Function func, Number timeout, ...args);

調用參數:

  • func: Function, 指定要運行的函數
  • timeout: Number, 指定超時時間
  • args: ..., 額外的參數,傳入到指定的callback 內,可選。

返回結果:

  • Value, 返回func 的運行結果