Threading - 线程和定时器
EasyBot 提供了完整的定时器功能,支持延时执行和间隔执行,兼容标准的 JavaScript 定时器 API。
threading 命名空间
setTimeout()
创建一个定时器,在指定的延迟后执行回调函数。
语法: threading.setTimeout(callback: () => void, delay: number): number
参数:
callback- 要执行的回调函数delay- 延迟时间(毫秒)
返回值: 定时器ID
示例:
const timerId = threading.setTimeout(() => {
logger.info("3秒后执行");
}, 3000);
setInterval()
创建一个间隔定时器,每隔指定的时间执行回调函数。
语法: threading.setInterval(callback: () => void, interval: number): number
参数:
callback- 要执行的回调函数interval- 间隔时间(毫秒)
返回值: 定时器ID
示例:
const intervalId = threading.setInterval(() => {
logger.info("每5秒执行一次");
}, 5000);
clearTimeout()
清除定时器。
语法: threading.clearTimeout(timerId: number): boolean
参数:
timerId- 定时器ID
返回值: 是否成功清除
示例:
const timerId = threading.setTimeout(() => {
logger.info("这不会执行");
}, 1000);
const success = threading.clearTimeout(timerId);
logger.info(`清除成功: ${success}`);
clearInterval()
清除间隔定时 器。
语法: threading.clearInterval(timerId: number): boolean
参数:
timerId- 定时器ID
返回值: 是否成功清除
示例:
const intervalId = threading.setInterval(() => {
logger.info("定期执行");
}, 1000);
// 10秒后停止
threading.setTimeout(() => {
const success = threading.clearInterval(intervalId);
logger.info(`停止间隔定时器: ${success}`);
}, 10000);