red*_* 87 9 javascript websocket apollo graphql
我一直在寻找一种方法来处理带有Apollo订阅的React应用程序中的Web套接字断开连接,但没有找到一种方法。我在阿波罗文档中看到的其他示例显示了以下捕获重新连接的方法:
const wsClient = process.browser ? new SubscriptionClient(WSendpoint, {
reconnect: true,
}) : null;
const wsLink = process.browser ? new WebSocketLink(wsClient) : null;
if (process.browser) {
wsLink.subscriptionClient.on(
'reconnected',
() => {
console.log('reconnected')
},
)
}
Run Code Online (Sandbox Code Playgroud)
上面的方法有两个问题:
我想做的是,如果用户断开与互联网的连接或者我的特快服务器由于任何原因停机,则重新加载我的“聊天”组件。为此,我需要聊天组件完全重新加载,但我不确定从组件树外部是否可以重新加载。
Query或SubscriptionApollo组件中是否有一种方法可以捕获此事件并从组件中进行相应处理?