该模块允许你在浏览器空闲时运行一个回调队列,以确保更高优先级的任务先执行。
安装
安装模块
npm install @wordpress/priority-queue --save
此软件包假定你的代码将运行在 ES2015+ 环境中。如果你使用的环境对此类语言特性和 API 的支持有限或没有支持,则应在代码中引入@wordpress/babel-preset-default 提供的 polyfill。
API
createQueue
创建一个上下文感知队列,该队列只执行给定上下文中的最后一个任务。
用法
import { createQueue } from '@wordpress/priority-queue';
const queue = createQueue();
// 上下文对象。
const ctx1 = {};
const ctx2 = {};
// 对于队列中的给定上下文,只执行最后一个回调。
queue.add( ctx1, () => console.log( 'This will be printed first' ) );
queue.add( ctx2, () => console.log( "This won't be printed" ) );
queue.add( ctx2, () => console.log( 'This will be printed second' ) );
返回值
WPPriorityQueue:包含add、flush和reset方法的队列对象。
为这个包做贡献
这是一个独立软件包,也是 Gutenberg 项目的一部分。该项目以 monorepo 形式组织,由多个自包含的软件包组成,每个软件包都有特定用途。此 monorepo 中的软件包发布到 npm,并被 WordPress 以及其他软件项目使用。
如需了解更多关于为该软件包或整个 Gutenberg 项目做贡献的信息,请阅读项目的主要贡献指南。