从10月8日至10日,与我们一起在纽约市参加活动,学习最新的GraphQL联盟和API平台工程的技巧、趋势和新闻。参加2024年纽约市GraphQL峰会
文档
免费开始

错误链接

在 GraphQL 网络栈中处理和检查错误。


我们建议阅读Apollo Link 概述,然后再学习有关单个链接的知识。

使用onError链接在发生 GraphQL 或网络错误时执行自定义逻辑。您将此链接传递给一个在操作返回一个或多个错误时执行的函数:

import { onError } from "@apollo/client/link/error";
// Log any GraphQL errors or network error that occurred
const errorLink = onError(({ graphQLErrors, networkError }) => {
if (graphQLErrors)
graphQLErrors.forEach(({ message, locations, path }) =>
console.log(
`[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`
)
);
if (networkError) console.log(`[Network error]: ${networkError}`);
});

此函数在GraphQL操作完成并且执行返回到操作后调用,执行正在向上返回链接链。除非你想重试操作,该函数不应该返回值。

选项

你提供的具有onError链接的函数接受一个包含以下的对象:

名称
类型
描述
操作

操作

产生错误的GraphQL操作的详细信息。

参见类型定义

响应

执行结果

来自服务器的(可能已修改的)GraphQL结果,由链中下一个链接传递(即,更接近终止链接的链接)。

参见类型定义

GraphQL错误

ReadonlyArray<GraphQLError>

在执行操作期间发生的GRAPHQL错误数组(如果有)。

参见类型定义

网络错误

Error | ServerError | ServerParseError

在尝试执行操作期间发生的网络错误(如果有)。

前进

函数

一个调用链中下一个链接的函数。在onError回调中调用return forward(operation)将会重试操作,返回一个给上游链接订阅的新可观察对象。

错误分类

错误作为networkError传递,如果链中更远的链接在可观察对象上调用error回调。在大多数情况下,graphQLErrors是最后一次next调用结果的errors字段的别名。

networkError可能包含附加字段,例如在HTTP状态码失败的情况下包含GraphQL对象。在这种情况下,如果该属性存在,graphQLErrorsnetworkError.result.errors

前面
上下文
下面
持久化查询
对文章评级评级在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,亦称Apollo GraphQL。

隐私政策

公司