繁体   English   中英

如何从 Apollo 客户端的 useQuery 获取响应 header

[英]How to get response header from useQuery of Apollo Client

我根本找不到办法做到这一点。 有谁知道这是否支持? 谢谢。

ApolloClient 发出请求的方法,以及使用它们的 React 钩子,作为对实际获取数据方式的抽象。 它可能来自 HTTP 上的远程服务器,来自缓存,来自直接对模式执行请求等。因此,它们不会首先公开有关如何获取数据的任何信息,包括传输-特定信息,例如 HTTP 标头。

如果您需要访问此信息,那么执行此操作的适当位置将是在您预先添加到 HTTPLink 的链接中——既可以是现有的链接,如 ContextLink 或 ErrorLink,也可以是您自己滚动的一些自定义链接。 如果您在错误处理上下文中执行此操作,那么 ErrorLink 将是您最好的选择,正如评论中所建议的那样。

HttpLink 将来自服务器的原始响应注入到所有链接使用的上下文 object 中(参见此处)。 假设您使用默认fetch API 作为提取器,此响应将是响应object。

所以你可以做这样的事情:

const link = onError(({ graphQLErrors, networkError, operation }) => {
  const { response } = operation.getContext()
  const { headers, status } = response

  // do something with the headers
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM