import { EventEmitter } from 'eventemitter3';
class H5SSE extends EventEmitter {
static instance: H5SSE;
static getInstance() {
if (!H5SSE.instance) {
H5SSE.instance = new H5SSE();
}
return H5SSE.instance;
}
}
export default H5SSE.getInstance();
上述代码是一个 TypeScript 类的定义,其中使用了单例模式来创建实例。让我们逐行解析代码:
class H5SSE extends EventEmitter {
这行代码定义了一个名为 H5SSE
的类,该类继承自 EventEmitter
类。
static instance: H5SSE;
这行代码定义了一个静态属性 instance
,用于保存 H5SSE
的单例实例。
static getInstance() {
if (!H5SSE.instance) {
H5SSE.instance = new H5SSE();
}
return H5SSE.instance;
}
这是一个静态方法 getInstance()
,用于获取 H5SSE
的单例实例。在方法内部,通过检查 H5SSE.instance
是否已存在实例,如果不存在则创建一个新的实例,并将其赋值给 H5SSE.instance
。最后,返回 H5SSE.instance
。
export default H5SSE.getInstance();
这行代码导出了通过调用 H5SSE.getInstance()
获取的 H5SSE
单例实例作为默认导出。
综上所述,通过 H5SSE.getInstance()
方法获取的 H5SSE
实例将是全局唯一的,即单例模式。这样可以确保在整个应用程序中只有一个 H5SSE
实例被创建和使用。