首页 > 解决方案 > 如何关闭陈旧的 Apollo-Client websocket 连接?

问题描述

我有一个页面正在加载连接的 apollo 客户端页面作为主页内的小部件。我的 GraphQL 服务器是自托管的。它们通过 iFrame(自托管)提供,连接回我自己的服务器。通信是通过第 3 方的 iFrame 通信 SDK 完成的。

出于某种原因,小部件在陈旧时不会从窗口中清除(我无法控制)。但是,我确实可以知道它们何时“过时”。当它们变得陈旧时,我想断开/关闭 websocket 连接。问题是仍然连接的客户端正在吃掉我后端的 CPU。我正在通过 chrome dev-tools 观看 websocket 连接。我注意到它每 5 秒向 websocket 服务器发送一个保持活动的请求。每隔一段时间我就会看到一个停止请求,我想弄清楚如何复制它。

我的反应阿波罗连接组件我尝试调用这两个命令,但是在没有错误地调用它们之后,keep-alive 标志仍然被发送到 websocket 服务器。

this.props.client.stop()
this.props.client.clearStore();

我如何告诉 apollo-client 自行关闭?

标签: apollo-client

解决方案


推荐阅读