目前,我正在根据文档测试“订阅”功能,但是,我遇到了这样一种情况,即某些用户(约40个用户中有5个-所有在线用户都在同一个房间中并且互联网连接良好)会丢失一些消息。据我了解,这与WebSockets有关。是否有任何我可以实现的后备机制来阻止这种情况的发生,或者这不是可靠消息传递的正确用例?
感谢您对此问题的任何投入。谢谢。
function Fetch() {
const { loading, error, data, subscribeToMore } = useQuery(FETCH_QUERY);
if (loading) return <p>Loading...</p>;
if (error) return <p>Error :(</p>;
subscribeToMore({
document: FETCH_SUBSCRIPTION,
updateQuery: (prev, { subscriptionData }) => {
if (!subscriptionData.data) return prev;
const newItem = subscriptionData.data.items;
const exists = prev.items.find(({ id }) => id === newItem.id);
if (exists) return prev;
return Object.assign({}, prev, {
items: [...prev.items, newItem]
})
}
});
return data.items.map((items, index) => {
<div>{items.content}</div>
});
}