当前位置: 首页 > 知识库问答 >
问题:

Apollo Client React中的错误策略无效

蔚楷
2023-03-14

我在测试Apollo时遇到了问题。当我尝试使用apollo和graph ql进行查询时,我想要响应返回错误和部分数据,所以我设置了属性errorPolicy:“all”。但它不起作用。我不知道为什么?请帮助!这是我的代码

查询{动物{姓名年龄},学校{姓名数字}}`

const{加载,数据,错误}=使用查询(GET\u DASHBOARD\u data,{错误策略:'all',未完成:(res)=

我想收到:

{错误:[...],数据:[动物:[...]]}

但它唯一的反应错误。这是阿波罗的文件:https://www.apollographql.com/docs/react/data/error-handling/

共有2个答案

龚勇锐
2023-03-14

我在错误策略方面也遇到了同样的问题:“全部”,我只在useQuery的onCompleted回调中收到了部分结果,但没有错误。

我创建了如下错误链接:

private createErrorLink = () => {
    return new ApolloLink((operation, forward) => {
      return forward(operation).map((response) => {
        // filter out errors you don't want to display

        const errors = filterSomeErrors(response.errors);        

        if (errors && response?.data) {
          response.data.errors = errors;
        }

        return response;
      });
    });
  };

现在,在我的onCompleted回调中,我得到了我的数据以及错误。您必须稍微调整一下类型,因为响应中似乎没有错误字段。默认情况下为数据。

请注意,如果您使用Apollo提供的onError并从链接返回一些内容,它将重试包含错误的请求!

穆铭晨
2023-03-14

onError类型为:(错误:Apollo错误)=

console.log('data', data)
console.log('error', error)
 类似资料:
  • 我尝试使用Google api,但是这个方法 给我一个错误对象 { 消息: “无效CookiePolicy” 堆栈 : “Gapi.auth2.ExternallyVisibleError:在新uO处无效CookiePolicy (https://apis.google.com//scs/appsgdbgywdv40vbng/cb=gapi.loaded_0:641:58 在new.c上(http

  • 我一直在尝试使用Selenium来测试我的应用程序。我使用Selenium IDE编写了初始测试,但是,当我将IDE测试转换为Selenium Webdriver测试时,我的代码大约有一半出现了错误!因此,我正在处理每一个错误,试图让代码正常工作。 我在Web驱动程序中遇到的错误是 错误:捕获到异常[错误:定位器的未知策略[class][class=x-tool-close]] 在Selenium

  • 我正在尝试创建一个单一注册或登录策略,但我得到以下错误消息:创建策略时出现错误“在租户”73A55309-……中检索扩展属性时未找到对象“。返回的错误为404/Request_ResourceNotFound:资源“7C7AB660-…”不存在或其查询的引用属性对象之一不存在。“ 尽管出现了这个错误,但我的策略已经创建,但我认为它没有正常工作,因为我正在尝试在默认页面上注册,而在此操作之后,我看到

  • 问题内容: 我在Windows7上使用maven2.1并得到上述错误。可以提供有关如何解决此问题的建议吗?我使用的是jdk1.6。我收到小程序警报。如何自动允许所有 问题答案: 检查Maven存储库中的.jar文件,使用WinRAR或其他方法打开它们。需要一些时间。您无需检查所有内容,只需检查您最近下载的内容即可。该存储库通常称为“ m2”或“ .m2”,并且通常位于用户配置文件或主目录中,具体取

  • 我正在尝试使用Spring Boot和React编写带有spotify api的简单应用程序。在spring boot site中,我有一个很好的工作控制器: 在使用main方法的课堂上,我有一个bean: 还有我的安全课: 当我测试endpoint时http://localhost:8080/artist在浏览器和邮递员中,它的工作方式和我预期的一样。 在反应方面,我有代码: 当我试图运行这个程

  • 我的骡子流有点像下面这样:- 现在我的问题出现在SOAP请求中,ID和AGE属性是整数,如果我放入任何字符串值,如,它会抛出错误,如org.apache.CXF.interceptor.Fault:Unmarshalling error:不是一个很自然的数字...现在我如何处理这个并发送自定义消息作为响应...我尝试使用Mule中的catch exception block但我无法处理这个CXF