如何解决Apollo 客户端和苦艾酒 - 解析错误的难度
我正在我的 React 应用程序中使用 @apollo/client 和 @absinthe/socket-apollo-link NPM 包,但是我在解析 if(Number_Of_People==1){
printf("Show us your identification so we can proceed!");
}
else if(1<Number_Of_People<=6){
printf("Show us the identification of each member so that we can proceed!");
}
else
{
printf("Sorry,we dont have rooms for so many people!");
}
在我的应用程序中收到的查询和突变错误时遇到了一些麻烦onError
和 useQuery
钩子的实现。
例如,这是我在组件中设置查询的方式:
useMutation
调用该 useQuery(OperationLib.agendaQuery,{
fetchPolicy: "network-only",onCompleted: ({ myData }) => {
setData(myData)
setLoading(false)
},onError: (error) => {
console.log(error)
}
})
处理程序时,返回的错误对象记录为:
onError
我可以将此回复分解为 Error: request: [object Object]
at new ApolloError (app.js:36358)
at app.js:146876
at app.js:145790
at new Promise (<anonymous>)
at Object.error (app.js:145790)
at notifySubscription (app.js:145130)
at onNotify (app.js:145169)
at SubscriptionObserver.error (app.js:145230)
at app.js:58209
at Array.forEach (<anonymous>)
、"graphQLErrors"
、"networkError"
、"message"
,但我发现很难在那里获得任何有用的信息。特别是,我希望能够从 "extraInfo"
中得到一些东西 - 但在这种情况下,message
是字符串,
error.message
request: [object Object]
记录 typeof error.message
所以是的,我对此无能为力。
也许我可以在其他属性之一下找到有用的东西?不,string
是一个空数组,graphQLErrors
产生的输出与我记录上述初始错误时得到的输出相同,而 networkError
未定义。
我深入研究了源代码并找到了方法 extraInfo
- 当我在此处添加调试日志以查看 createRequestError
是什么时,我发现了一些不错的数据 - 我可以看到这样的消息会认为在错误响应中的某处可用:
message
是什么导致了这个问题?我需要在 Apollo/Absinthe 初始化中配置一些东西吗?我是这样设置的:
var createRequestError = function createRequestError(message) {
return new Error("request: ".concat(message));
}.bind(undefined);
apollo-client.js
import { ApolloClient,InMemoryCache } from "@apollo/client"
import absintheSocketLink from "./absinthe-socket-apollo-link"
export default new ApolloClient({
link: absintheSocketLink,cache: new InMemoryCache()
})
absinthe-socket-apollo-link.js
非常感谢您的任何见解!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。