在apollo graphql服务器上解决单个api调用中的批处理查询

在apollo graphql服务器上解决单个api调用中的批处理查询,graphql,apollo,apollo-server,batching,Graphql,Apollo,Apollo Server,Batching,我目前正在apollo graphql客户端上使用类似调用的批处理。 因此,如果触发了相同的graphql查询,但参数不同,它会向阿波罗服务器发送单个调用 但在graphql服务器端,我希望进行优化,以便一次只调用一次即可解决所有graphql查询 Graphql服务器对api服务器进行调用,但针对每个批处理调用,而不是一次解决所有查询 我使用了数据加载器来使用批处理,但它只发送单个请求 genUserInfoDataLoader() { return new DataLoader(

我目前正在apollo graphql客户端上使用类似调用的批处理。 因此,如果触发了相同的graphql查询,但参数不同,它会向阿波罗服务器发送单个调用

但在graphql服务器端,我希望进行优化,以便一次只调用一次即可解决所有graphql查询

Graphql服务器对api服务器进行调用,但针对每个批处理调用,而不是一次解决所有查询

我使用了
数据加载器
来使用批处理,但它只发送单个请求

  genUserInfoDataLoader() {
    return new DataLoader(async (arr) => {
      logger.info(`---> UserInfoDataLoader Making calls for:${JSON.stringify(arr)}`);
      const leagueId = arr[0].split(':')[1];
      const UserIds = arr.map(a => a.split(':')[0]);
      const userInfoMap = await this.post('endpoint/user-info ', {
        userIds: UserIds.join(','),
        tourId,
      });

      return UserIds
        .map(
         userId => (userInfoMap[userId] ? userInfoMap[userId] : [])
        );
    });
  }