Vue.js Apollo没有将查询重新发送到服务器

Vue.js Apollo没有将查询重新发送到服务器,vue.js,apollo,api-platform.com,vue-apollo,Vue.js,Apollo,Api Platform.com,Vue Apollo,我构建了一个带有graphql端点的api平台应用程序。在客户端,我使用apollo客户端管理查询和突变,如下所示(在vuejs前端中): 在我的vuex商店中,我使用它的方式如下: fetchItems({commit}, options) { commit(mutationsTypes.FETCHING_ITEMS); client.query({ query: organismoQueries.SEARCH_ITEMS_QUERY(options),

我构建了一个带有graphql端点的api平台应用程序。在客户端,我使用apollo客户端管理查询和突变,如下所示(在vuejs前端中):

在我的vuex商店中,我使用它的方式如下:

fetchItems({commit}, options) {
      commit(mutationsTypes.FETCHING_ITEMS);
      client.query({
        query: organismoQueries.SEARCH_ITEMS_QUERY(options),
      }).then((res) => {
        commit(mutationsTypes.FETCHING_ITEMS_SUCCESS, res.data.organismos.edges)
      }).catch(error => console.error(error));
    }
查询工作正常,问题是无法重新加载表结果。当我使用相同的选项重新发送相同的查询时,不会请求graphql端点。我需要更改表的排序,但一旦达到所有组合,我就无法再次重新加载表

我试图在查询中引入一个随机参数,但我从服务器上得到了一个错误(显然)

是否有方法重新发送相同的查询并执行类似于重新加载表的操作


提前谢谢

Apollo客户端可以通过从服务器或缓存获取特定查询来解析该查询。确切的行为由
fetchPolicy
确定,可以在调用
client.query
时指定。从文档中:

fetch策略是一个选项,允许您指定希望组件如何与Apollo数据缓存交互。默认情况下,组件将首先尝试从缓存读取数据,如果查询的完整数据在缓存中,Apollo只需从缓存返回数据。如果查询的完整数据不在缓存中,Apollo将使用您的网络接口执行您的请求。通过更改此选项,可以更改此行为

由于默认策略是“先缓存”,并且您已经获取了一次查询,因此对
client.query
的后续调用将返回缓存结果。要绕过缓存,请选择不同的策略,如
仅网络

client.query({
  query: organismoQueries.SEARCH_ITEMS_QUERY(options),
  fetchPolicy: 'network-only',
})
您可以阅读有关
fetchPolicy
选项的更多信息

client.query({
  query: organismoQueries.SEARCH_ITEMS_QUERY(options),
  fetchPolicy: 'network-only',
})