方法1
js
class singalInstance {
static instance;
constructor() {
if (DatabaseConnection.instance) {
// 如果实例已存在,直接返回它,防止 'new' 创建出新实例
return DatabaseConnection.instance;
}
// 首次创建
this.connectionString = `mongodb://...${Math.random()}`; // 模拟一个连接
console.log("数据库实例已创建");
// 2. 将 'this' (这个新实例) 存入静态属性
DatabaseConnection.instance = this;
}
static getInstance() {
// 如果实例不存在...
if (!DatabaseConnection.instance) {
// ...就 new 一个 (这会触发 constructor 并将实例存入 static.instance)
DatabaseConnection.instance = new DatabaseConnection();
}
// 永远返回那个唯一的实例
return DatabaseConnection.instance;
}
}