首页 > 解决方案 > 如何防止 Apollo 客户端查询在 IE11 中缓存?

问题描述

我们可以通过执行以下操作在 jQuery 中全局禁用缓存:

$.ajaxSetup({ cache: false });

我试图在 Apollo Client 中找到类似的选项。我已经尝试过 Middleware 和 Cache-Control 标头,但没有运气。

是否可以像以前的 jQuery 选项那样以类似的方式(即,通过将时间戳附加到查询字符串)禁用缓存?

标签: internet-explorer-11apollo-client

解决方案


尝试将 fetchPolicy 设置为“ no-cache ”。像这样:

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

const client = new ApolloClient({
    link: concat(authMiddleware, httpLink),
    cache: new InMemoryCache(),
    defaultOptions: defaultOptions,

});

来自此链接的代码。


推荐阅读