Skip to content

waitMS

waitMS方法用于等待一段固定毫秒数后继续执行,返回一个 Promise 对象。内部基于 setTimeout 实现,是 setTimeout 的 Promise 化封装。

语法

javascript
waitMS(ms)

参数

  • ms number

  等待的毫秒数。需要为非负整数,传入负数时浏览器按 0 处理。

返回值

Promise<void>

  在 ms 毫秒后 resolve 的 Promise,无 resolve 值。

描述

waitMSsetTimeout 包装为 Promise 形式,常用于在 async/await 流程中插入固定延时。相比于直接使用回调式 setTimeout,写法更简洁直观,便于与 Promise 链式调用配合。

注意事项

  • 依赖运行环境的定时器 API(setTimeout),在 web 与 node 之外的 JS 环境可能无法工作。
  • 受事件循环机制影响,实际触发时间不会早于 ms,但可能略晚。
  • 传入负数或非数字时,行为遵循浏览器对 setTimeout 的处理(通常按 0 处理)。

示例

基础用法

与 await 配合使用

浏览器兼容

依赖定时器API

纵然 setTimeout 在浏览器和 node 环境下都被支持。 但定时器并不是 ES 本身的规范,它是依赖运行环境的。 如果你在 web 与 node 之外的 JS 环境(比如 Adobe 或者 Office)运行这个方法,那么它很可能是无法工作的。

性能考虑

  • 内部仅使用一次 setTimeout,时间复杂度 O(1),开销极低。
  • 由于是异步任务,不会阻塞主线程。

相关函数