fastevent
星标11
分支1
更新时间2026年3月25日 09:34
FastEvent 事件发射器库使用指南。功能强大、类型安全的事件系统,支持层级事件、通配符、执行器、管道等高级特性。
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
文件资源管理器
5 个文件SKILL.md
readonly菜单
FastEvent 事件发射器库使用指南。功能强大、类型安全的事件系统,支持层级事件、通配符、执行器、管道等高级特性。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | fastevent |
| description | FastEvent 事件发射器库使用指南。功能强大、类型安全的事件系统,支持层级事件、通配符、执行器、管道等高级特性。 |
功能强大、类型安全的事件发射器库,支持 Node.js 和浏览器环境。
import { FastEvent } from 'fastevent';
const events = new FastEvent();
// 订阅事件
events.on('user/login', (message) => {
console.log(message.payload); // { id: 1 }
});
// 发布事件
events.emit('user/login', { id: 1 });
监听器接收 Message 对象:
{
type: string, // 事件名称
payload: any, // 事件数据
meta: object // 元数据(version, timestamp 等)
}
支持 / 分隔的层级事件:
* - 匹配单级(如 user/* 匹配 user/login)** - 匹配多级(如 user/** 匹配 user/login, user/profile/update)events.on('user/*/login', handler); // 匹配 user/admin/login
events.on('user/**', handler); // 匹配 user 下所有事件
控制监听器执行方式:
parallel() - 并行执行(默认)series() - 串行执行race() - 竞速,返回最快结果waterfall() - 瀑布流,结果传递first/last/random/balance() - 其他策略import { series } from 'fastevent/executors';
const events = new FastEvent({ executor: series() });
包装监听器实现额外功能:
queue() - 队列处理throttle() - 节流debounce() - 防抖timeout() - 超时retry() - 重试memorize() - 缓存import { throttle } from 'fastevent/pipes';
events.on('data/update', handler, { pipes: [throttle(1000)] });
共享父级监听器表,添加前缀:
const userScope = events.scope('user');
userScope.on('login', handler); // 等同于 events.on('user/login', handler)
新订阅者立即接收保留的事件值:
events.emit('config/theme', { dark: true }, { retain: true });
// 后续订阅者立即收到 { dark: true }
完整 TypeScript 支持:
interface MyEvents {
'user/login': { id: number };
'data/update': { value: string };
}
const events = new FastEvent<MyEvents>();
events.emit('user/login', { id: 1 }); // 类型检查
// 等待事件
await events.waitFor('user/login', 5000);
// 一次性监听
events.once('startup', handler);
// 移除监听器
const subscriber = events.on('event', handler);
subscriber.off();
// 全局监听
events.onAny((message) => console.log(message.type));
// 清除监听器
events.off('event');
events.offAll();
references/advanced-patterns.md - 高级模式和最佳实践references/executors.md - 执行器详解references/pipes.md - 管道详解references/testing.md - 测试指南