Подписка на Graphql с параметром не обновляет кеш должным образом - PullRequest
0 голосов
/ 24 октября 2018

Итак, во-первых, мы должны помнить, что graphql имеет функцию кэширования и хранить каждый запрос, сделанный в его кеше.Это означает, что каждый раз, когда запрос выполняется в первый раз, он сохраняется в кеше, и следующий вызов этого запроса будет возвращать непосредственно информацию о кеше.

Это вызывает проблему, когда он никогда не обновляет содержимое, еслиесть новые данные.Вот где подписка, для сайта в режиме реального времени.Подписка возвращает новые данные из базы данных клиенту, чтобы он мог обновляться без обновления своей веб-страницы.

Теперь я использую подписку для создания «SMS» -страницы, как на Android или iPhone.Я должен получить сообщение от пользователя в режиме реального времени, проблема в том, что подписка, кажется, не заботится о параметре подписки.

Вот моя подписка:

enter image description here

Вот моя внешняя подписка

enter image description here

В нижней части подписки на больше вы можете увидеть, что getSMSFromClient обновляется с использованием prev.getSMSFromClient + newSMS.

Однако, это приводит к изменению всех данных кеша с использованием getSMSFromClient в результате,так что измените все разговоры пользователей, даже если они не связаны с телефоном ...

...