Skip to content

方法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;
  }
}

方法2 直接import/export就行,天然支持。

本站访客数 人次 本站总访问量