问题标签 [graphql-subscriptions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
283 浏览

graphql-js - 嵌套查询/解析器时的 GraphQL.js 订阅响应错误

我有以下可以正常工作的订阅查询:

但以下发送“无法读取未定义的属性'ShipmentOrder'”错误

这是我的 ShipmentOrder 类型定义,我正在使用sequelize与数据库通信

这是订阅定义

以及触发订阅的突变,(在请求嵌套结果时,突变也可以正常工作)

我会错过什么?

0 投票
1 回答
1964 浏览

graphql - 使用 NEXT.js 和 Apollo 客户端 2 配置订阅

我正在尝试使用 Apollo 2 和 NEXT.js 配置订阅。我可以让客户端连接到服务器,并且它们在 GraphQL 操场上工作,所以错误的配置必须在 withData 文件中,或者在处理订阅的组件中。

在 chrome 中检查网络面板上的套接字连接时,订阅有效负载不会像在 GraphQL 游乐场中那样添加为帧。

与数据:

订阅组件:

已经在 GraphQL 操场上测试过的订阅:

然后在componentDidMount中执行more函数:

updateQuery 中的日志在控制台中的结果是:

0 投票
1 回答
1655 浏览

reactjs - Apollo 订阅未在客户端监听新数据

以前我的 apollo 设置一直在监听订阅,直到我添加到 socket.io 中,现在我的客户端设置不再监听新数据。根据我使用 graphql 游乐场的测试,我的服务器代码似乎没问题。

在我的浏览器控制台中,我收到以下错误消息

client.js:652 WebSocket 连接到“ws://localhost:4000/”失败:WebSocket 握手期间出错:意外响应代码:400

我的客户端设置使用阿波罗订阅似乎存在一些问题。

欣赏任何指针?提前致谢

如果需要,我的服务器端代码

0 投票
1 回答
1021 浏览

graphql-subscriptions - graphql 订阅无法始终如一地工作

我们以这种方式在我们的应用程序中使用 graphql-subscription:

当删除事件到达服务器时:

解析器:

从我们的客户端订阅它:

问题是,有时订阅工作正常并且已删除的项目按预期过滤,但通常它根本不起作用。没有错误日志。当我调试它时,我可以看到问题在于 pubsub.publish() 没有通知客户端。

我们所有的订阅都出现了这个问题,这只是其中的一个例子。

可能是什么问题呢?谢谢。

0 投票
1 回答
1610 浏览

android - 如何在 android 客户端中使用 graphql 订阅

如何在 Apollo Android 客户端中使用 graphq 订阅。现在我的服务器上有代码:

我的解析器的代码:

我的 Android 客户端有对我的 graphql 服务器端点的休息请求的方法:

但我不知道如何在 android 客户端上使用订阅。在官方 appolo 文档中,我没有找到在 android 客户端中使用订阅的示例。请帮我解决这个问题。

0 投票
1 回答
934 浏览

ruby-on-rails - 无法理解使用带有 graphql-ruby gem 的 ActionCable 的 GraphQL 订阅

我正在尝试使用带有graphql-rubygem 的 ActionCable 来实现 GraphQL 订阅。

我从这个链接中发现需要创建客户端需要订阅的 GraphQL 通道。通常,在 ActionCable 中,我们将在动作stream_from中需要通道。subscribed但是,链接中的示例指定了一个execute带参数的方法。这个方法什么时候执行?

此外,文档说明See Apollo Client or Relay Modern了客户使用情况。是否必须使用其中任何一种,或者我可以使用咖啡脚本来订阅和更新 UI?

0 投票
2 回答
6979 浏览

node.js - GraphQL:如何嵌套创建模式?

在过去的一年中,我将一个应用程序转换为使用 Graphql。到目前为止它很棒,在转换过程中,我基本上移植了支持我的 REST 端点的所有服务,以支持 grapqhl 查询和突变。该应用程序运行良好,但希望继续改进我的对象图。

让我们考虑一下我有以下关系。

用户 -> 团队 -> 板 -> 列表 -> 卡片 -> 评论

我目前有两个不同的嵌套模式:用户 -> 团队:

然后我有板 -> 列表 -> 卡片 -> 评论

效果很好。但我很好奇如何嵌套我才能真正制作我的模式。如果我添加其余部分以使图表完整:

这将获得更深的图表。但是我担心会有多少复杂的突变。特别是对于向下的板架构,我需要发布所有操作的订阅更新。如果我添加评论,发布整个董事会更新是非常低效的。虽然为每个嵌套模式的每次创建/更新都构建了订阅逻辑,但实现简单的事情似乎需要大量代码。

关于对象图中的正确深度有什么想法吗?请记住,用户旁边的每个对象都需要广播给多个用户。

谢谢

0 投票
1 回答
982 浏览

javascript - 需要在 react-apollo 中使用从 GraphQL 订阅接收到的数据的 setstate()

我正在尝试通过 react-apollo 设置我正在执行的 GraphQL 订阅查询的 setState()。我的目的是将我从 GraphQL 收到的完整对象存储起来,并将其保存到ComponentDidMount()App.js 文件的方法中的状态中。

我已经尝试了很多方法让它工作,比如SubscribetoMorereact-apollo 的端点,但我认为我正在为它编写错误的反应代码。

/App.js

/App.js

订阅查询

0 投票
2 回答
899 浏览

aws-appsync - 使用 GraphQL 转换在 AWS AppSync 中生成带有参数的订阅

我目前正在使用 GraphQL 转换库来生成我的所有架构。我有一个这样定义的模型:

自动生成的订阅模式是这样的:

我想为订阅提供一个参数,以便我只能订阅该事件,如下所示:

我需要做什么才能自动生成此订阅?谢谢!

0 投票
1 回答
546 浏览

ios - AWS Appsync 复杂订阅参数

我目前正在开发一个消息传递应用程序,并希望创建一个全局订阅只是为了演示我想要实现的目标假设有一个像 sendMessage 这样的突变,它包含 senderId 和 Members,例如:-

此突变用于向用户发送消息,实际示例不同且复杂,因此我用小示例询问让我们运行具有以下值的突变,例如:-

我的问题 - 只有当成员在成员数组中包含“B”时才能获得订阅,如下所示: -