Apolloserver中创建的类是否被视为单例?
创始人
2024-09-09 13:01:15
0

Apollo server 中创建的类默认被视为单例,因为它们可以用来共享状态和数据。以下是一个简单的示例:

const { ApolloServer, gql } = require('apollo-server');

class MyClass {
  constructor() {
    this.count = 0;
  }

  increment() {
    this.count++;
  }

  getCount() {
    return this.count;
  }
}

const typeDefs = gql`
  type Query {
    getCount: Int
  }

  type Mutation {
    incrementCount: Int
  }
`;

const resolvers = {
  Query: {
    getCount: (_, __, context) => context.myClass.getCount(),
  },
  Mutation: {
    incrementCount: (_, __, context) => {
      context.myClass.increment();
      return context.myClass.getCount();
    },
  },
};

const server = new ApolloServer({
  typeDefs,
  resolvers,
  context: () => {
    const myClass = new MyClass();
    return { myClass };
  },
});

server.listen().then(({ url }) => {
  console.log(`Server ready at ${url}`);
});

在这个示例中,我们创建了一个名为 MyClass 的类,并在 context 中将其传递给 resolver。在 QueryMutation resolver 中,我们可以访问 MyClass 的实例并使用类的方法来操作状态。

由于 MyClasscontext 中只创建了一次,所以它被视为单例并且可以在整个应用程序中共享。

相关内容

热门资讯

重磅来袭(德州)外挂透明挂辅助... 重磅来袭(德州)外挂透明挂辅助脚本(透视)软件透明挂(了解有挂)-哔哩哔哩;免费德州平台AI辅助工具...
3分钟了解(德扑自定义)外挂透... 3分钟了解(德扑自定义)外挂透明挂辅助工具(辅助挂)确实是真的有挂(2022已更新)(哔哩哔哩);德...
分享给玩家!wpk实锤(Wep... 分享给玩家!wpk实锤(WepOke)外挂透明挂辅助脚本(透视)大神讲解(了解有挂)-哔哩哔哩;wp...
玩家交流(WPK技术)外挂透明... 玩家交流(WPK技术)外挂透明挂辅助插件(辅助挂)软件透明挂(有挂方针)-哔哩哔哩;大神普及一款德州...
免费测试版(德州之星app安卓... WePoker透视辅助版本解析‌,免费测试版(德州之星app安卓版)外挂透明挂辅助器安装(透视)透视...
教程辅助(微扑克后台)外挂透明... 1、教程辅助(微扑克后台)外挂透明挂辅助挂(透视)确实真的有挂(2021已更新)(哔哩哔哩)。2、微...
透明挂透视!新Wepoke(w... 透明挂透视!新Wepoke(wepoKe)外挂透明挂辅助神器(透视)普及教程(有挂讲解)-哔哩哔哩是...
透明黑科技(德扑之星)外挂透明... 透明黑科技(德扑之星)外挂透明挂辅助机制(辅助挂)透视辅助(新版有挂)-哔哩哔哩;小薇(透视辅助)致...
重大发现(德州ai智能系统)外... 重大发现(德州ai智能系统)外挂透明挂辅助APP(辅助挂)辅助透视(有挂秘笈)-哔哩哔哩是一款可以让...
透视黑科技(智星德州扑克)外挂... 透视黑科技(智星德州扑克)外挂透明挂辅助app(透视)其实真的有挂(2024已更新)(哔哩哔哩),亲...