在我的配置中,我有以下内容:-
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()。
有什么办法可以做到这一点吗?谢谢。
由于您是在已res
作为参数传递的函数内部定义函数,因此只需使用该参数即可。这意味着您应该res
从myCustomFunction
的签名中删除参数,否则最终会掩盖res
您实际打算使用的变量。
expressGraphQL((req, res) => ({
...,
context: {
...
myCustomFunction: () => {
console.log(res)
},
},
}))
您也可以myCustomFunction
在不同的范围内定义,在这种情况下,您将执行以下操作:
function myCustomFunction (res) {
console.log(res)
}
expressGraphQL((req, res) => ({
...,
context: {
...
myCustomFunction: () => myCustomFunction(res),
},
}))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句