在扩展 Apollo Server 时,DataSources
我们必须在类中创建一个初始化方法:
initialize(config){
this.context=config.context
}
然而,当谈到 DataSources 的类扩展和上下文之间的关系时,我无法明确定义一个心智模型。正如 Apollo 的 GitHub 存储库中所见,访问自定义数据源方法的方法是通过解构 dataSource ,像这样:
getRandomData: (parent,args,{dataSource})=>{
return dataSources.randomMethod()
}
然而,我们如何将上下文传递给 Apollo Server?我想是这样的:
const server= new ApolloServer({
typeDefs,
schema,
context,
dataSources:()=>({...})
}
但是如果是这样, {dataSources}
解构在解析器中没有意义,那么数据源和上下文之间究竟是什么关系呢?谢谢 !