最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

当我添加花括号以能够向上下文中添加更多元素时,如何访问GraphqlServer上下文对象?

网站源码admin18浏览0评论

当我添加花括号以能够向上下文中添加更多元素时,如何访问GraphqlServer上下文对象?

当我添加花括号以能够向上下文中添加更多元素时,如何访问GraphqlServer上下文对象?

我正在使用GraphQL,Graphql-yoga和NodeJS。

当我的GraphQLServer上下文配置有单个元素时,一切正常,如下所示:(db是模拟数据库内容的数组)

当我在上面加上花括号时,它会断开:

即使我在编码时没有看到任何错误,当尝试执行我的任何解析器时,它们似乎也无法再访问数据库对象,并且所有我的find(),findIndex(),some()以及所有与我的数据库阵列关联的列表不再起作用。如果我重新设置为:context:db,一切正常。

这是我在运行时遇到的错误TypeError:无法读取未定义的属性'findIndex'

这是我的解析器的外观:

即使我破坏了上下文以直接与解析器中的数组一起使用,我仍然遇到相同的错误:

这是我的package.json:

非常感谢您的帮助。

回答如下:

如果您这样做:

const context = db

然后您将上下文的值设置为db的值。如果您这样做了,然后运行以下代码

context.dbments.findIndex(comment => comment.id === args.id)

这意味着db对象上有一个名为context的属性。因为context与原始db变量相同,所以这意味着原始db变量上有一个名为db的属性。因此,如果您直接使用db变量,此代码也将起作用:

db.dbments.findIndex(comment => comment.id === args.id)

如果不是将context设置为db,而是将其值设置为具有名为db的属性的新对象,然后将该属性的值设置为db

context = { db: db }

或使用速记符号:

context = { db }

然后您的函数调用现在看起来像这样:

context.db.dbments.findIndex(comment => comment.id === args.id)
发布评论

评论列表(0)

  1. 暂无评论