@gamestdio/timer

中文文档
1.4.2发布于 2024/05/19MITTypeScriptCommonJS近 30 天下载 4.2万

时间事件绑定在 @ gamestio/ hour

中文使用文档
文档目录3 节
  1. 为什么?
  2. API 密码
  3. 许可证

@ gamestdio/ timer (英语)

与时间挂钩的事件 colyseus/ 小时。 。 。 .

ClockTimer 是一个子类 Clock,增加了处理超时和 依赖的间隔 Clock滴答声.

为什么?

一旦内置 setTimeout 财务报告和审定财务报表 setInterval 依赖CPU负载, 函数可能 延迟一个出乎意料的执行时间 。 绑在钟表上 保证以精确的方式执行.

因此,理想的情况是,所有计时器都有一个CPU时钟,然后按顺序执行.

见引自 W3C 计时器规格数字 :

这个API并不能保证定时器会如期发射. 延迟 由于CPU负载,其他任务等原因,预计会出现.

然而,它确实保证命令“该计时器是否应根据上次拨打电话以来的已过期时间执行?”.

经典计时器,如果我们有 setInterval 联 合 国 0ms 它将以调用回调( 如 A LOT) 来填充事件循环计时器队列, 如果我们还有另一个 1000ms 间隔将仅在许多 0ms 调用被执行 。 事实并非如此 ClockTimer,因为它环绕所有计时器 和检查,如果它们应该被执行, 更有可能 1000ms 回调会及时执行.

您也可以打电话 .tick() 手动检查所有计时器 在一个特定的重要时间.

其他的酷事是,你管理所有的时间器在一个地方,因此你可以立刻清除所有的时间器. 例如,当游戏结束时,您想要清除所有计时器时, 这一点是有用的 。 或当使用这些无关紧要.

API 密码

时钟

  • setInterval(handler, time, ...args) - > (中文) Delayed
  • setTimeout(handler, time, ...args) - > (中文) Delayed
  • duration(ms: number) - > (中文) Promise<void> - 在主动功能或承诺中等待一段时间的方便方法。 详见相关联的JSdoc.
  • clear() - 清除所有间隔和超时现象,并放弃与下列各方建立的任何承诺: duration。 。 。 .

延迟

  • clear() - > (中文) void - 清除超时/中断
  • reset() - > (中文) void - 重新设定过去的时间
  • active - > (中文) Boolean - 它还在活动吗?
  • pause() - > (中文) void - 暂停执行
  • resume() - > (中文) void - 继续处决
  • paused - > (中文) Boolean - 暂停了吗?

许可证

麻省理工学院

版本与发布记录

@gamestdio/timer 共发布 9 个版本,首次发布于 2017/08/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.4.2latest2024/05/192 年前
1.4.12024/02/192 年前
1.4.02024/02/142 年前
1.3.22019/12/246 年前
1.3.12019/07/147 年前
1.3.02019/03/037 年前

关于 @gamestdio/timer 的常见问题

@gamestdio/timer 是什么?

时间事件绑定在 @ gamestio/ hour

如何安装 @gamestdio/timer?

在项目目录运行 npm install @gamestdio/timer,或使用 pnpm add / yarn add / bun add。

@gamestdio/timer 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@gamestdio/timer 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@gamestdio/timer 可以商用吗?

@gamestdio/timer 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@gamestdio/timer 的下载量有多少?

根据 npm 官方下载统计,@gamestdio/timer 在 2026/10/16 – 2026/11/14 这 30 天内被下载 41,586 次,日均约 1,386 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@gamestdio/timer 还在维护吗?

最新版本 1.4.2 发布于 2024/05/19(2 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/08/08。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。