首页 > 解决方案 > 无法在 javascript 中实现单例模式

问题描述

我正在尝试为 fastify 实例实现单例模式。我的代码如下: -


const { createFastifyServer: server } = require("../app");

const getFastifyInstance = (() => {
  let fastify;
  return {
    fastifyInstance: async () => {
      if (!fastify) {
        console.log("Called")
        fastify = server();
        await fastify.ready();
      }
      return fastify
    }
  }
})();

const { fastifyInstance } = getFastifyInstance
module.exports = fastifyInstance

现在,无论我将代码导入到不同的文件中,控制台都会在每次将其导入新文件时打印“已调用”,但如果正确实现了单例模式,则不应只打印一次。知道我在做什么错吗?

标签: javascriptsingletonfastify

解决方案


推荐阅读