typescript event
时间: 2023-10-08 11:13:38 浏览: 45
可以使用 TypeScript 中的事件(Event)来实现在程序的不同部分之间进行通信的功能。事件可以在一个地方触发,然后在另一个地方被监听和处理。
以下是一个 TypeScript 中使用事件的例子:
```typescript
class EventEmitter {
private listeners: { [event: string]: Function[] } = {};
public on(event: string, listener: Function) {
if (!this.listeners[event]) {
this.listeners[event] = [];
}
this.listeners[event].push(listener);
}
public emit(event: string, ...args: any[]) {
const eventListeners = this.listeners[event];
if (eventListeners) {
eventListeners.forEach(listener => {
listener(...args);
});
}
}
}
// 使用事件
const eventEmitter = new EventEmitter();
eventEmitter.on('greeting', (name: string) => {
console.log(`Hello, ${name}!`);
});
eventEmitter.emit('greeting', 'Alice'); // 输出:Hello, Alice!
```
在上面的例子中,我们定义了一个 EventEmitter 类,它有两个方法:`on` 和 `emit`。`on` 方法用于注册事件监听器,`emit` 方法用于触发事件并传递参数。
我们可以使用 `eventEmitter.on` 方法来注册一个名为 `greeting` 的事件监听器。当 `eventEmitter.emit` 方法触发 `greeting` 事件时,监听器中的回调函数就会被执行,并将参数 `'Alice'` 传递进去。
注意,在 TypeScript 中,事件通常被定义为字符串类型。在上面的例子中,我们使用了字符串 `'greeting'` 来表示事件名。