阿波罗 |如何从服务器通知订阅?

Posted

技术标签:

【中文标题】阿波罗 |如何从服务器通知订阅?【英文标题】:Apollo | How to Notify Subscription From Server? 【发布时间】:2021-02-13 11:23:58 【问题描述】:

如何从 Node.js App 通知订阅的客户端数据库(Mongodb)的新更改? 我知道当客户端提交突变时它会起作用,但是有没有办法在服务器上做到这一点?

【问题讨论】:

【参考方案1】:

请参阅 Apollo Subscriptions 的文档:“为了在示例中生成事件,我们通过发布通知了 Mutation 解析器内部的 pubsub 实现。如果需要,此发布调用可以在解析器之外发生。 em>"

所以每次你的服务器代码需要向客户端发布更新时,它都应该调用 publish() 方法:

pubsub.publish(POST_ADDED,  postAdded: args );

【讨论】:

嗨。谢谢 !我想有时通知另一台服务器的更改。我必须创建新的 API 还是在 Node.js 服务器上使用 Apollo 客户端 如果它是另一台服务器,那么您将需要新的 API - 并在那里使用 publish()。

以上是关于阿波罗 |如何从服务器通知订阅?的主要内容,如果未能解决你的问题,请参考以下文章

通过 apollo 连接到 graphql-yoga 服务器进行订阅的正确方法是啥?

如何在 apollo 客户端中检测订阅(websocket)的断开和重新连接

谷歌浏览器推送通知

Apollo 订阅 PubSub 未触发侦听器

Google Firebase 通知无法订阅主题

如何从 apollo 服务器发送错误消息