我正在尝试使用ActionCable和graphql-ruby gem实现GraphQL订阅。
我从这个link中了解到,需要创建哪些客户端需要订阅的GraphQL通道。通常,在ActionCable中,我们将在subscribed操作中stream_from所需的通道。但是,链接中的示例指定了一个带参数的execute方法。这个方法什么时候执行?
此外,doc还会声明See Apollo Client or Relay Modern以供客户端使用。必须使用其中任何一个吗?或者我可以使用coffeescript来订阅和更新UI吗?
发布于 2019-06-26 12:18:37
我不确定你是否已经解决了你的问题,但是对于那些理解GraphQL和ActionCable的工作原理有困难的人来说。我已经建立了一个示例存储库,并将尝试更新文档以使其更好。
https://github.com/bidluo/GraphQL-ActionCableSubscriptions
为了回答您的问题,execute与发送消息时的任何其他ActionCable操作类似,因此要调用它,您可以执行以下操作,其中data包含所有内容,而query实际上是GraphQL中唯一的一部分。
{
"command":"message",
"identifier":"{\"channel\":\"GraphqlChannel\"}",
"data":"{ \"query\": \"subscription { newMessage { content } }\", \"variables\": null, \"action\": \"execute\" }"
}但你需要确保你首先订阅了这个频道:
{
"command":"subscribe",
"identifier":"{\"channel\":\"GraphqlChannel\"}"
}https://stackoverflow.com/questions/53905139
复制相似问题