Перехват сетевых ошибок на apollo-модуле с использованием Nuxt - PullRequest
2 голосов
/ 01 апреля 2019

Я использую nuxt с apollo-module, и мне нужно перехватить возможные сетевые ошибки (401/403, чтобы быть более точным), чтобы я мог показать некоторые модальные ошибки и выйти из системы моего пользователя. В документации я вижу, что внутри nuxt.config.js вы можете сделать так:

  apollo: {
    tokenName: 'Authorization',
    authenticationType: 'Bearer',
    errorHandler(error) { do something }
  }
...

Но внутри этого файла конфигурации я не могу получить доступ к нужным функциям приложения (например, модальным ошибкам или маршрутизатору). Есть ли способ заархивировать его?

1 Ответ

1 голос
/ 01 апреля 2019

Вы можете использовать apollo-error-link

  apollo: {
    clientConfigs: {
      default: '~/apollox/client-configs/default.js'
    }
  },

А вот конфиг

import { onError } from 'apollo-link-error'

export default function(ctx) {
  const errorLink = onError(({ graphQLErrors, networkError }) => {

  })
  return {
    link: errorLink,

    // required
    httpEndpoint: ctx.app.$env.GRAPHQL_URL,

    httpLinkOptions: {
      credentials: 'same-origin'
    },
  }
}
...