expressgraphql-如何在上下文中将res对象传递给自定义函数?
在我的配置中,我有以下内容:-expressgraphql-如何在上下文中将res对象传递给自定义函数?,express,express-graphql,Express,Express Graphql,在我的配置中,我有以下内容:- expressGraphQL((req, res) => ({ ..., context: { req, res, database, }, })) 我希望能够在上下文中将res传递给自定义函数,如下所示:- expressGraphQL((req, res) => ({ ..., context: { req, res, database, myCustomFunction: (res) => { // do something with r
expressGraphQL((req, res) => ({
...,
context: {
req,
res,
database,
},
}))
我希望能够在上下文中将res传递给自定义函数,如下所示:-
expressGraphQL((req, res) => ({
...,
context: {
req,
res,
database,
myCustomFunction: (res) => {
// do something with res object here
}
}))
但是,当我从冲突解决程序中的上下文获取myCustomFunction并运行时,res是未定义的
我知道我可以将res与myCustomFunction一起从上下文中拉出并调用myCustomFunction(res),但我只希望能够执行myCustomFunction()
我有什么办法可以做到这一点吗?谢谢。既然您是在一个已被传递的函数中定义函数作为参数,只需使用该参数即可。这意味着您应该从
myCustomFunction
的签名中删除res
参数,否则您将得到实际要使用的res
变量
expressGraphQL((req, res) => ({
...,
context: {
...
myCustomFunction: () => {
console.log(res)
},
},
}))
您也可以在不同的范围内定义myCustomFunction
,在这种情况下,您可以执行以下操作:
function myCustomFunction (res) {
console.log(res)
}
expressGraphQL((req, res) => ({
...,
context: {
...
myCustomFunction: () => myCustomFunction(res),
},
}))