/// /// /** * @description timers 模块 */ declare module 'timers' { /** * @description 在指定的时间后调用函数 * @param callback 指定回调函数 * @param timeout 指定延时的时间,以毫秒为单位。超过 2^31 的话,立即执行。 * @param args 额外的参数,传入到指定的 callback 内,可选。 * @return 返回定时器对象 * */ function setTimeout(callback: (...args: any[])=>any, timeout?: number, ...args: any[]): Class_Timer; /** * @description 清除指定的定时器 * @param t 指定要清除的定时器 * */ function clearTimeout(t: any): void; /** * @description 每间隔指定的时间后调用函数 * @param callback 指定回调函数 * @param timeout 指定间隔的时间,以毫秒为单位。超过 2^31 的话,立即执行。 * @param args 额外的参数,传入到指定的 callback 内,可选。 * @return 返回定时器对象 * */ function setInterval(callback: (...args: any[])=>any, timeout: number, ...args: any[]): Class_Timer; /** * @description 清除指定的定时器 * @param t 指定要清除的定时器 * */ function clearInterval(t: any): void; /** * @description 每间隔指定的时间后调用函数,这是个高精度定时器,会主动打断正在运行的 JavaScript 脚本执行定时器 * 由于 setHrInterval 的定时器会中断正在运行的代码执行回调,因此不要在回调函数内修改可能影响其它模块的数据,或者在回调中调用任何标记为 async 的 api 函数,否则将会产生不可预知的结果。例如: * ```JavaScript * var timers = require('timers'); * * var cnt = 0; * timers.setHrInterval(() => { * cnt++; * }, 100); * * while (cnt < 10); * * console.error("===============================> done"); * ``` * 这段代码中,第 8 行的循环并不会因为 cnt 的改变而结束,因为 JavaScript 在优化代码时会认定在这个循环过程中 cnt 不会被改变。 * @param callback 指定回调函数 * @param timeout 指定间隔的时间,以毫秒为单位。超过 2^31 的话,立即执行。 * @param args 额外的参数,传入到指定的 callback 内,可选。 * @return 返回定时器对象 * */ function setHrInterval(callback: (...args: any[])=>any, timeout: number, ...args: any[]): Class_Timer; /** * @description 清除指定的定时器 * @param t 指定要清除的定时器 * */ function clearHrInterval(t: any): void; /** * @description 下一个空闲时间立即执行回调函数 * @param callback 指定回调函数 * @param args 额外的参数,传入到指定的 callback 内,可选。 * @return 返回定时器对象 * */ function setImmediate(callback: (...args: any[])=>any, ...args: any[]): Class_Timer; /** * @description 清除指定的定时器 * @param t 指定要清除的定时器 * */ function clearImmediate(t: any): void; /** * @description 调用给定的函数,并在超时时间到期时中断函数运行 * @param func 指定要运行的函数 * @param timeout 指定超时时间 * @param args 额外的参数,传入到指定的 callback 内,可选。 * @return 返回 func 的运行结果 * */ function call(func: (...args: any[])=>any, timeout: number, ...args: any[]): any; }