В настоящее время я тестирую функцию подписки в соответствии с документами, однако я столкнулся с ситуацией, когда некоторые пользователи (около 5 из 40 - все онлайн в одной комнате с приличным подключением к Интернету) пропускают несколько сообщений. Насколько я понимаю, это связано с 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>
});
}