ApolloServer传入的dataStore对类不可见。
创始人
2024-09-09 13:00:52
0

要让Apollo Server传入的dataStore在类中可见,需要在类中通过constructor方法将dataStore作为属性进行实例化,并将constructor方法中的参数对象中的dataSources属性指定为传递进来的dataStore对象。示例代码如下:

const { ApolloServer } = require('apollo-server');
const { MyDataSource } = require('./myDataSource');

class MyResolver {
  constructor({ dataSources }) {
    // 将 dataStore 作为属性进行实例化
    this.myDataSource = new MyDataSource();
    // 将 dataSources 中的 dataStore 指定为实例化后的 MyDataSource 对象
    dataSources.myDataSource = this.myDataSource;
  }

  async myQuery(_, __, { dataSources }) {
    // 可以通过 this.myDataSource 访问 dataStore
    const result = await this.myDataSource.getData();
    return result;
  }
}

const server = new ApolloServer({
  typeDefs,
  resolvers: [MyResolver],
  // 将 dataStore 传入 context 的 dataSources 属性中
  dataSources: () => ({
    myDataSource: new MyDataSource(),
  }),
  context: ({ req }) => {
    return {
      // 将传入的 dataStore 保存在 context 中
      dataSources: req.dataSources,
    };
  },
});

通过在类中使用constructor方法将dataStore作为属性进行实例化,并将dataSources属性指定为传递进来的dataStore对象,就可以在类中访问和使用dataStore了。

相关内容

热门资讯

重磅来袭(WPK)外挂透明挂辅... 重磅来袭(WPK)外挂透明挂辅助机制(透视)透视辅助(有挂教学)-哔哩哔哩是由北京得WPK黑科技有限...
必看攻略(微扑克软件)外挂透明... 必看攻略(微扑克软件)外挂透明挂辅助软件(透视)透视辅助(有挂规律)-哔哩哔哩1、每一步都需要思考,...
重大发现!wepoke辅助透视... 重大发现!wepoke辅助透视(wEPoke)外挂透明挂辅助脚本(透视)细节方法(有挂规律)-哔哩哔...
推荐十款(微扑克智能)外挂透明... 推荐十款(微扑克智能)外挂透明挂辅助工具(透视)原来是真的有挂(2025已更新)(哔哩哔哩)1、这是...
科技通报(微扑克稳赢)外挂透明... 科技通报(微扑克稳赢)外挂透明挂辅助挂(辅助挂)软件透明挂(有挂技术)-哔哩哔哩;超受欢迎的微扑克稳...
大神推荐(wPK)外挂透明挂辅... 大神推荐(wPK)外挂透明挂辅助app(辅助挂)辅助透视(有挂教程)-哔哩哔哩;最新版2024是一款...
最新研发!WPK app(We... 【福星临门,好运相随】;最新研发!WPK app(WePoKer)外挂透明挂辅助工具(辅助挂)202...
分享开挂内幕(governor... 分享开挂内幕(governorofpoker3)外挂透明挂辅助神器(辅助挂)确实是真的有挂(2024...
一分钟了解(靠谱WPK)外挂透... 一分钟了解(靠谱WPK)外挂透明挂辅助挂(辅助挂)透视辅助(有挂功能)-哔哩哔哩1、这是跨平台的靠谱...
玩家必看教程(wepoke挂透... 玩家必看教程(wepoke挂透视)外挂透明挂辅助神器(辅助挂)辅助透视(有挂讲解)-哔哩哔哩;亲,其...