Как изменить политику обработки ошибок для подписки GraphQL - PullRequest
2 голосов
/ 13 февраля 2020

Мне нужно применить политику ошибок " 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 подписка или обходной путь для эмуляции такого поведения?

...