Мне нужно применить политику ошибок " all " к подписке, чтобы иметь возможность получать как ошибки, так и данные из сообщения сервера. Теперь, если произошла ошибка сервера, ошибки graphql рассматриваются как сетевые ошибки, и я не могу получить данные, которые были частично собраны из базы данных.
Согласно документации , существует три политика ошибок доступна, и вы можете легко применить их к запросам и мутациям . Но нет никаких настроек политики ошибок для подписок.
Вот как я могу создать подписку:
const wsClient = new ApolloClient({
link: new WebSocketLink({
uri: "MY_ENDPOINT",
options: { lazy: true, reconnect: true},
})
});
wsClient.subscribe(MY_QUERY)
.subscribe({
next: (response: FetchResult) => {
// assume both response.errors and response.data available here
},
error: (err: ApolloError) => {
// this function is called whenever server responde with errors
}
});
Есть ли способ применить политику " all " к graphql подписка или обходной путь для эмуляции такого поведения?