【问题标题】:Catch specific response from graphql with apollo使用 apollo 捕获来自 graphql 的特定响应
【发布时间】:2018-09-28 13:49:15
【问题描述】:

在我的应用中,我有许多查询和突变,如下所述:

query name1($token: String!){
  session(authToken: $token) {
    user {
      id
    }
  }
}

mutation name2($token: String!){
  session(authToken: $token) {
    getSomething()
  }
}

如果服务器端的会话有问题,我会从服务器得到响应 - session: null 并且没关系。由于许多查询和许多突变,我如何才能捕捉到这个特定的响应({session: null})并触发一些方法(在我的情况下注销并销毁本地存储中的令牌)。我需要一些通用解决方案(可能是一些后期软件或类似的东西),而不是在每个查询和突变中捕获该响应。

【问题讨论】:

    标签: apollo react-apollo


    【解决方案1】:

    我可以想到两种解决方案:

    1- 让您的服务器抛出一个错误而不是 null 并使用 apollo-link-error https://github.com/apollographql/apollo-link/tree/master/packages/apollo-link-error 在您的客户端中捕获该错误

    2- 编写一个自定义 Apollo 客户端来查找特定值({session: null})。为此,我建议查看任何可用 Apollo 链接的源代码或查看本教程 https://dev-blog.apollodata.com/creating-a-data-component-with-apollo-link-f0719d8193ee

    【讨论】:

      猜你喜欢
      • 2020-06-14
      • 2022-10-19
      • 2019-07-26
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 2021-11-28
      • 2019-08-03
      • 1970-01-01
      相关资源
      最近更新 更多