Apollo-Link-Error返回未定义的响应

时间:2018-11-06 17:50:26

标签: angular apollo apollo-client

我正在开发一个获取一些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”将其公开,但无济于事。另外,记录键的语句仅返回“内容类​​型”,不返回其他标题。

任何建议都会很棒。

0 个答案:

没有答案