【问题标题】:How i can CATCH any error (network and graphql), and prevent promise.reject()?我怎样才能捕捉到任何错误(网络和graphql),并防止promise.reject()?
【发布时间】:2020-08-24 09:57:41
【问题描述】:

我已经可以得到 Apollo 客户端错误:

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)
    }
    
  })
}

是的,错误处理程序有效,但我如何防止承诺被拒绝?

【问题讨论】:

    标签: apollo react-apollo apollo-client


    【解决方案1】:
    const errorLink = onError(({networkError, graphQLErrors, response}) => {
    
      // DO ANYTHING
    
      // Stop error propagation to next Links
      response.errors = null
    })
    

    HttpLink 看不到错误 end not reject promise =)

    【讨论】:

      猜你喜欢
      • 2010-12-29
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2011-12-04
      • 1970-01-01
      • 2019-09-18
      • 2017-12-07
      相关资源
      最近更新 更多