### 穩定度: 3 - 鎖定
所有的定時器函數都是全局的。當需要使用它們時,不必通過`require()`。
#### setTimeout(callback, delay[, arg][, ...])
在指定的延時(毫秒)后執行一次回調函數。返回一個可以被調用`clearTimeout()`的`timeoutObject`。可選的,你可以傳遞回調函數的參數。
需要注意的是,你的回調函數可以不會在精確的在指定的毫秒延時后執行 - `io.js`對回調函數執行的精確時間以及順序都不作保證。回調函數的執行點會盡量接近指定的延時。
#### clearTimeout(timeoutObject)
阻止一個`timeout`的觸發。
#### setInterval(callback, delay[, arg][, ...])
在每次到達了指定的延時后,都重復執行回調函數。返回一個可以被調用`clearInterval()`的`intervalObject`。可選的,你可以傳遞回調函數的參數。
#### clearInterval(intervalObject)
阻止一個`interval`的觸發。
#### unref()
`setTimeout`和`setInterval`的返回值也有一個`timer.unref()`方法,這個方法允許你創建一個 當它是事件循環中的僅剩項時,它不會保持程序繼續運行 的定時器。如果一個定時器已經被`unref`,再次調用`unref`不會有任何效果。
在`setTimeout`的情況下,當你調用`unref`時,你創建了一個將會喚醒事件循環的另一個定時器。創建太多這樣的定時器會影響時間循環的性能 -- 請明智地使用。
#### ref()
如果你先前對一個定時器調用了`unref()`,你可以調用`ref()`來明確要求定時器要保持程序運行。如果一個定時器已經被`ref`,再次調用`ref`不會有任何效果。
#### setImmediate(callback[, arg][, ...])
在下一次I/O事件循環后,在`setTimeout`和`setInterval`前,“立刻”執行回調函數。返回一個可以被`clearImmediate()`的`immediateObject`。可選的,你可以傳遞回調函數的參數。
由`setImmediate`創建的回調函數會被有序地排隊。每一次事件循環迭代時,整個回調函數隊列都會被處理。如果你在一個執行中的回調函數里調用了`setImmediate`,那么這個`setImmediate`中的回調函數會在下一次事件循環迭代時被調用。
#### clearImmediate(immediateObject)
阻止一個`immediate`的觸發。