在我的应用程序中,我有很多查询和突变,如下所述:
query name1($token: String!){
session(authToken: $token) {
user {
id
}
}
}
mutation name2($token: String!){
session(authToken: $token) {
getSomething()
}
}
如果服务器端的会话有问题,我从服务器得到一个响应 - session:null,就可以了。由于许多查询和许多变异,我如何能够捕获这个特定的响应({session:null})并触发一些方法(在我的情况下注销并在localstorage中销毁令牌)。我需要一些通用的解决方案(可能是一些后期软件或类似的东西),而不是在每个查询和变异中捕获该响应。
答案 0 :(得分:0)
我可以想到两个解决方案:
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