Как я могу ВЫЯВИТЬ любую ошибку (сеть и graphql) и предотвратить Promise.reject ()? - PullRequest
0 голосов
/ 21 июня 2020

image

i Already can get Apollo Client errors:

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

function createLink() {
  return ApolloLink.from([
    createErrorLink(),
    createHttpLink(),
  ])
}

function createErrorLink() {
  return onError(function ({graphQLErrors, networkError}) {

    if (graphQLErrors) {
      graphQLErrors.map(({message}) => {
        console.log(`[GraphQL error]`, message)
      })
    }

    if (networkError) {
      console.log(`[Network error]`, networkError)
    }
    
  })
}

Да, обработчики ошибок работают, но как я могу ПРЕДОТВРАТИТЬ отклонение обещаний?

1 Ответ

0 голосов
/ 24 августа 2020
const errorLink = onError(({networkError, graphQLErrors, response}) => {

  // DO ANYTHING

  // Stop error propagation to next Links
  response.errors = null
})

HttpLink не видит ошибки, конец не отклоняет обещание =)

...