实时订阅:Apollo客户端实现指南
在实时应用程序中,实时订阅功能至关重要,它能让客户端实时接收服务器端的更新。本文将详细介绍如何在Apollo客户端实现实时订阅功能,以聊天应用为例,逐步讲解具体的实现步骤。
后端准备
首先,对 addMessage 突变进行了编辑,确保从上下文中选择正确的用户。这样,所有新发送的消息都会保存正确的用户ID,便于后续在身份验证部分过滤WebSocket消息。
使用 pubsub.publish 函数向所有连接并订阅了 messageAdded 频道的客户端发送新的WebSocket帧。该函数的第一个参数是订阅名称,这里是 messageAdded ;第二个参数是保存到数据库的新消息。所有通过 AsyncIterator 订阅了 messageAdded 订阅的客户端都会收到此消息。
后端准备工作中,最复杂的部分是让Express.js和WebSocket传输协同工作。GraphQL的实现主要涉及新的模式实体、正确实现订阅的解析器函数,然后通过PubSub系统将数据发布到客户端。
前端Apollo客户端配置
在使用订阅功能之前,需要对Apollo客户端配置进行调整,具体步骤如下:
1. 导入依赖 :打开 apollo 文件夹中的 index.js 文件,导入以下依赖:
超级会员免费看
订阅专栏 解锁全文
919

被折叠的 条评论
为什么被折叠?



