@viso/shared-timer

v0.2.3

Published

一个轻量级、类型安全的计时器工具库,专为 TypeScript 项目设计。

Readme

@viso/shared-timer

一个轻量级、类型安全的计时器工具库,专为 TypeScript 项目设计。

安装

npm install @viso/shared-timer

功能特点

  • 🎯 类型安全: 完全基于 TypeScript 实现,提供完整的类型检查和智能提示
  • 计时器管理: 提供灵活的计时器创建和管理功能
  • 🛌 同步睡眠: 支持同步和异步的睡眠功能
  • 🔄 可控制: 支持启动、暂停、停止、重置等操作
  • 🧪 经过测试: 完整的单元测试覆盖,确保稳定性和可靠性
  • 🪶 轻量级: 基于 shared-types,无额外依赖

使用方法

基本计时器

import { Timer } from '@viso/shared-timer'

// 创建计时器
const timer = new Timer()

// 启动计时器
timer.start()

// 获取经过的时间(毫秒)
const elapsed = timer.getElapsed()

// 暂停计时器
timer.pause()

// 恢复计时器
timer.resume()

// 停止并重置计时器
timer.stop()

带回调的计时器

import { Timer } from '@viso/shared-timer'

// 创建带回调的计时器
const timer = new Timer({
  onTick: (elapsed) => {
    console.log(`经过时间: ${elapsed}ms`)
  },
  interval: 1000 // 每秒触发一次
})

timer.start()

同步睡眠

import { sleepSync } from '@viso/shared-timer'

console.log('开始')
sleepSync(2000) // 同步睡眠 2 秒
console.log('2秒后执行')

异步睡眠

import { sleep } from '@viso/shared-timer'

async function example() {
  console.log('开始')
  await sleep(2000) // 异步睡眠 2 秒
  console.log('2秒后执行')
}

API 参考

Timer 类

构造函数

new Timer(options?: TimerOptions)

选项

  • onTick?: (elapsed: number) => void: 计时回调函数
  • interval?: number: 回调触发间隔(毫秒,默认 1000)

方法

  • start(): 启动计时器
  • pause(): 暂停计时器
  • resume(): 恢复计时器
  • stop(): 停止并重置计时器
  • reset(): 重置计时器
  • getElapsed(): 获取经过的时间(毫秒)
  • isRunning(): 检查计时器是否正在运行
  • isPaused(): 检查计时器是否暂停

睡眠函数

sleepSync(ms: number): void

同步睡眠指定的毫秒数。

sleep(ms: number): Promise<void>

异步睡眠指定的毫秒数。

许可证

MIT