# @discourse/backburner\.js 中文文档

规范地址：https://npmcn.com/package/%40discourse/backburner.js/

版本：2\.7\.1-0
npm 元数据更新时间：2026-05-07T19:17:46.799Z
中文译文更新时间：2026-11-12T12:06:42.318Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40discourse/backburner.js
原文对照：https://npmcn.com/package/%40discourse/backburner.js/?lang=original
项目主页：https://github.com/discourse/backburner.js#readme
源码仓库：https://github.com/discourse/backburner.js

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2 MB，46 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2022-10-12T09:56:48.527Z
- 最新版本发布：2022-10-12T09:56:48.794Z
- 近 30 天下载量：5142（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

一叉回烧器. js

## 安装

```sh
npm install @discourse/backburner.js
```

也可以使用：`pnpm add @discourse/backburner.js`、`yarn add @discourse/backburner.js`、`bun add @discourse/backburner.js`

## README

# 燃烧器 [![Build Status](https://travis-ci.org/BackburnerJS/backburner.js.svg?branch=master)](https://travis-ci.org/BackburnerJS/backburner.js)

将 Ember.js 运行回路重写为通用微图书馆.

## TL; DR 数据

优先排队,可以高效地进行分批,排序,重排和处理工作;通过特定排队的排行安排工作完成.

## API 密码

### 构造器

| 构造器 | 说明 |
| --- | --- |
| `new Backburner()` | 以队列名称排列的 Backbuner 实例 |

### 实例方法

| 方法 | 说明 |
| --- | --- |
| `Backburner#run` | 执行传递的函数并冲出任何被推迟的动作 |
| `Backburner#defer` | 推迟通过函数以在指定的队列内运行 |
| `Backburner#deferOnce` | 将传递的函数延后到指定的队列内运行, 只执行一次 |
| `Backburner#setTimeout` | 在指定时间内执行传递的函数 |
| `Backburner#debounce` | 在指定时间内执行通过函数, 在额外调用时重设计时器 |
| `Backburner#throttle` | 在指定时间内限制通过函数 |
| `Backburner#cancel` | 取消一个 `deferOnce`, (中文(简体) ), `setTimeout`, (中文(简体) ), `debounce` 或者说 `throttle` |
| `Backburner#on` | 添加事件召回 。 支持以下活动:  
-   `begin` - 随时会起火 回调通过当前实例和上一个实例.
-   `end` - 跑道一结束就开火 回调通过当前实例和下一实例.

 |
| `Backburner#off` | 删除事件召回 |
| `Backburner#join` | 以已有的队列加入通过的方法并立即执行, 如果没有一种使用 `Backburner#run` |
| `Backburner#getDebugInfo` | 返回计数器、计时器和队列的调试信息,其中包括为相应呼叫提供堆栈微量信息 |

#### 别名

| 别名 | 说明 |
| --- | --- |
| `Backburner#schedule` | 与 `defer` |
| `Backburner#scheduleOnce` | 与 `deferOnce` |
| `Backburner#later` | 与 `setTimeout` |

## 示例用途

以下代码只会导致单一的 DOM 操作:

```html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Backburner demo</title>
  </head>

  <body>
    <div id="name"></div>

    <script type="module">
      import Backburner from './dist/es6/backburner.js'

      var backburner = new Backburner(['render']),
        person = {name: 'Erik'};

      function updateName() {
        document.querySelector('#name').innerHTML = person.name;
      }

      function setName(name) {
        person.name = name;
        backburner.deferOnce('render', updateName);
      }

      backburner.run(function() {
        setName('Kris');
        setName('Tom');
        setName('Yehuda');
      });
    </script>
  </body>
</html>
```

## 基准

这个 `/bench` 目录包括若干业绩基准.

跑进去 `node`数字 :

```bash
yarn ember build
node ./bench/index.js # (all benchmarks)
node ./bench/index.js ./bench/benches/some-file.js # (specific benchmark)
```

或在浏览器中运行,运行 `yarn ember server`访问 `http://localhost:4200` 在浏览器中。 注意开发者工具的打开/关闭会影响联署材料的性能.

## 常见问题

### @discourse/backburner\.js 是什么？

一叉回烧器\. js

### 如何安装 @discourse/backburner\.js？

在项目目录运行 npm install @discourse/backburner\.js，或使用 pnpm add / yarn add / bun add。

### @discourse/backburner\.js 支持 TypeScript 吗？

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

### @discourse/backburner\.js 支持 ESM 还是 CommonJS？

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

### @discourse/backburner\.js 可以商用吗？

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

### @discourse/backburner\.js 的下载量有多少？

根据 npm 官方下载统计，@discourse/backburner\.js 在 2026/10/13 – 2026/11/11 这 30 天内被下载 5,142 次，日均约 171 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @discourse/backburner\.js 还在维护吗？

最新版本 2\.7\.1-0 发布于 2022/10/12（4 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2022/10/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

