21 lines
527 B
TypeScript

import { EventEmitter, once } from 'stream';
// 事件
export const emitter = new EventEmitter();
// 异步触发事件 demo
export const asyncEmit = (emitter: EventEmitter, eventName: string) => {
return new Promise((resolve) => {
emitter.once(eventName, (value: any) => resolve(value));
});
};
async function main() {
setTimeout(() => {
emitter.emit('asyncEvent', '监听器中的值');
}, 1000);
asyncEmit(emitter, 'asyncEvent').then((result) => {
console.log(result); // 监听器中的值
});
}