Angular Apollo GraphQL watchQuery против подписки

Я новичок в GraphQL и мне нужна помощь...

Насколько я понимаю, в GraphQL есть множество компонентов, таких как запрос, мутация и подписка. В Angular Apollo Client у меня есть два метода работы с Query: apollo.query и apollo.watchQuery. Насколько я понимаю, метод запроса получает данные только один раз, когда watchQuery постоянно следит за обновлениями. И если да, то в чем разница между подпиской на watchQuery и GraphQl?

1 ответ

Как указано в официальных документах apollo: "Подписки GraphQL - это способ передачи данных с сервера клиентам, которые предпочитают прослушивать сообщения с сервера в реальном времени. Подписки похожи на запросы в том, что они определяют набор полей, которые должны быть доставляется клиенту, но вместо немедленного возврата единственного ответа результат отправляется каждый раз, когда на сервере происходит определенное событие ".

Таким образом, подписка просто прослушивает некоторые push-изменения из бэкэнда, и вместо этого watchQuery представляет собой запрос, который всякий раз, когда этот запрос будет обновлен или данные, связанные с этим запросом, будут изменены из любого другого места, этот метод будет продолжать выдавать обновленные данные.

Я не знаю, путаете ли вы watchQuery с "живым запросом", но живые запросы пока не поддерживаются.

Другие вопросы по тегам