我正在开发一个获取一些graphQL查询的应用程序,并试图使用apollo-link-error处理网络错误。虽然我可以轻松获取状态代码和其他详细信息,但无法从错误中获取响应标头。 我的错误处理程序:
const errorLink = onError(({ graphQLErrors, networkError, operation, response }) => {
const context = operation.getContext();
const res: HttpResponse<FetchResult> = context.response;
if (graphQLErrors) {
error.handleGraphQLErrors(graphQLErrors);
}
if (networkError && networkError instanceof HttpErrorResponse) {
console.log(networkError.headers.keys());
error.handleNetworkError(networkError as HttpErrorResponse);
} else {
error.handleUnknownError(networkError);
}
});
在这种情况下,“错误”是我为实际处理错误而设置的服务。但是,“响应”始终是不确定的,“ res”也是不确定的。 operation.getContext()给了我请求标头,但没有响应。我可以在Chrome DevTools中看到响应返回了一些自定义标头,并且尝试使用“ Access-Control-Expose-Headers”将其公开,但无济于事。另外,记录键的语句仅返回“内容类型”,不返回其他标题。
任何建议都会很棒。