set_timeout

set_timeout

set_timeout

功能

注册一次性延迟回调,并立即返回 Timer 对象。回调到期后由所属 VM 的单线程事件循环执行一次,回调返回值会被忽略。

语法

参数

参数类型必填默认值说明
fnFn延迟执行的 BT 函数。
delay_msInt0延迟毫秒数;负数按 0 处理。

返回值

类型说明
Timer定时器句柄,可调用 cancel() 取消尚未触发的回调。

示例

注意事项

  • set_timeout() 不会同步执行回调;delay_ms 为 0 时也会尽快投递到事件队列。
  • CLI 脚本存在活动 timeout 时会保持进程,直到回调执行完成或被取消。
  • Web 请求上下文中不能创建定时器,请求结束后 VM 会释放。
  • 取消定时器的方法见 Timer.cancel