setTimeout 和 clearTimeout
setTimeout 用于設(shè)置一個(gè)回調(diào)函數(shù) cb,其在最少 ms 毫秒后被執(zhí)行(并非在 ms 毫秒后馬上執(zhí)行)。setTimeout 返回值可以作為 clearTimeout 的參數(shù),clearTimeout 用于停止定時(shí)器,這樣回調(diào)函數(shù)就不會(huì)被執(zhí)行了。
setInterval 和 clearInterval
setInterval 和 setTimeout 類似,不過 setInterval 會(huì)在每 ms 毫秒后(并非精確的 ms 毫秒后)執(zhí)行一次 cb。setInterval 返回值可以作為 clearInterval 的參數(shù),clearInterval 用于停止定時(shí)器,這樣回調(diào)函數(shù)就不會(huì)被執(zhí)行了。
setImmediate 和 clearImmediate
setImmediate 用于延遲調(diào)用 cb 函數(shù)。cb 將在 I/O 事件回調(diào)之后,setTimeout 和 setInterval 回調(diào)之前調(diào)用。setImmediate 的返回值可以作為 clearImmediate 的參數(shù),clearImmediate 用于停止觸發(fā)回調(diào)函數(shù)。
process.nextTick
類似 setImmediate 函數(shù),用于延遲調(diào)用 cb 函數(shù)。cb 將在 I/O 事件回調(diào)之前調(diào)用(區(qū)別于 setImmediate)。process.nextTick 相比 setTimeout(cb, 0) 要高效的多。process.nextTick 在每次循環(huán)時(shí)會(huì)執(zhí)行最多 process.maxTickDepth 個(gè)回調(diào)函數(shù),而 setImmediate 在每次循環(huán)中僅僅執(zhí)行一個(gè)回調(diào)函數(shù)。
新聞熱點(diǎn)
疑難解答
圖片精選