gpt4 book ai didi

javascript - 在从 apollo-boost 导出的 ApolloClient 中禁用缓存

转载 作者:行者123 更新时间:2023-11-30 08:18:54 29 4
gpt4 key购买 nike

我想禁用缓存或将缓存限制为 24 小时。我的 ApolloClient 只在服务器端运行。

我的环境:

  • apollo-boost 0.4.3
  • graphql 14.1.1
  • apollo-link-batch-http - 1.2.12

现在,这就是我配置 ApolloClient 的方式。

new ApolloClient({
ssrMode: true,
cache: new InMemoryCache(),
link: WithApollo.BatchLink(),
credentials: 'same-origin',
});

The closest thing I saw in docs is FetchOptions ...但它没有指定我实际可以传递哪些选项来实现禁用或限制缓存的需要。

最佳答案

Apollo Boost 无法做到这一点。您需要迁移到 migrate to using Apollo Client .这将允许您为 ApolloClient 构造函数提供一个 defaultOptions 选项作为 shown in the docs。 :

const defaultOptions = {
watchQuery: {
fetchPolicy: 'no-cache',
},
query: {
fetchPolicy: 'no-cache',
},
}

fetchPolicy 选项实际上可以在每个单独的 query 调用或 Query 组件上设置——通过提供 defaultOptions 对象,您不必将 no-cache 指定为您使用的每个单独 Query 组件的获取策略。这也意味着,如果您决心保留 Boost,则可以在每个组件上都这样做。然而,以上是如何有效地为整个客户端“关闭”缓存。

关于javascript - 在从 apollo-boost 导出的 ApolloClient 中禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57239371/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com