所以它只发送一个呼叫到
apollo-server
如果graphql的参数不同,则会激发相同的graphql。
但在graphql服务器端,我希望进行优化,以便一次只调用一次解析所有graphql查询。
我用过
data-loader
使用批处理,但它只发送单个请求。
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] : [])
);
});
}