import stream from 'stream'; // 默认导入整个模块 const { EventEmitter, once } = stream; // 从中解构出 EventEmitter // 事件 export const emitter = new EventEmitter(); type EmitterType = typeof emitter; // 异步触发事件 demo export const asyncEmit = (emitter: EmitterType, 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); // 监听器中的值 }); }