Scheduling Timers
2024年10月14日
一、setImmediate(callback[, ...args])
1.1 认识
setImmediate(callback[, ...args]) 在 I/O
事件的回调之后调度 callback
的“立即”执行。当多次调用 setImmediate()
时,则 callback
函数会按照它们的创建顺序排队执行。 每次事件循环迭代都会处理整个回调队列。 如果立即定时器从正在执行的回调中排队,则直到下一次事件循环迭代才会触发该定时器。
1.2 语法
const immediateID = setImmediate(()=>{},arg1,arg2,……,argn);
- callback: 在本轮
Node.js
事件循环结束时调用的函数 - ...args: 调用
callback
时要传入的可选参数。 - immediateID: 用于
clearImmediate()
二、setInterval(callback[, delay[, ...args]])
2.1 认识
setInterval(callback[, delay[, ...args]]) 每 delay
毫秒调度重复执行 callback
。
2.2 语法
const intervalID = setInterval(()=>{},delay,arg1,arg2,……,argn);
- callback: 当定时器结束时调用的函数。
- delay: 调用
callback
之前等待的毫秒数。 默认值: 1。当delay
大于2147483647
或小于1
时,则delay
将设置为1
。 非整数延迟被截断为整数。 - arg1,arg2,……,argn: 调用 callback 时要传入的可选参数。
- intervalID: 用于
clearInterval()
三、setTimeout(callback[, delay[, ...args]])
3.1 认识
setTimeout(callback[, delay[, ...args]]) delay
毫秒后调度单次的 callback
的执行。
3.2 语法
const timeoutID = setTimeout(()=>{},delay,arg1,arg2,……,argn);
- callback: 当定时器结束时调用的函数。
- delay: 调用
callback
之前等待的毫秒数。 默认值: 1。当delay
大于2147483647
或小于1
时,则delay
将设置为1
。 非整数延迟被截断为整数。 - arg1,arg2,……,argn: 调用 callback 时要传入的可选参数。
- intervalID: 用于
clearInterval()