Apollo angular客户端始终使用缓存

Apollo angular客户端始终使用缓存,angular,caching,apollo,Angular,Caching,Apollo,我正在使用apollo angular客户端和InMemoryCache。我有一些要禁用缓存的watchQuery。我已按如下方式设置我的客户端: link: httpLink.create({uri}), cache: new InMemoryCache(), ssrMode: false, ssrForceFetchDelay:0, defaultOptions: { watchQuery: { fetchPolicy: 'no-c

我正在使用apollo angular客户端和InMemoryCache。我有一些要禁用缓存的watchQuery。我已按如下方式设置我的客户端:

link: httpLink.create({uri}),
    cache: new InMemoryCache(),
    ssrMode: false,
    ssrForceFetchDelay:0,
    defaultOptions: {
      watchQuery: {
        fetchPolicy: 'no-cache',
        errorPolicy: 'ignore',
      },
      query: {
        fetchPolicy: 'no-cache',
        errorPolicy: 'all',
      },
    }
我的watchQuery如下所示:

return this.apollo.watchQuery<TestAssetListQuery>({
        query: gql`
          query {
              testAssetList {
                name,
                path,
                size
              }
          }
        `,
        fetchPolicy: "no-cache",
      }).valueChanges;
返回this.apollo.watchQuery({
查询:gql`
质疑{
遗嘱登记员{
名称
路径
大小
}
}
`,
fetchPolicy:“无缓存”,
}).价值变化;
然而,每个后续查询都是从缓存中提取的

如果你能给我一些建议,告诉我如何强迫阿波罗不要缓存我的查询,我将不胜感激

因为我没有足够的声誉来评论。我会试着把它贴出来


尝试仅使用
网络
而不是
无缓存

Hi Anuj。我尝试了几乎所有可用的选项,无法让阿波罗不使用缓存。我只尝试了网络,但它仍然使用缓存。我觉得我做错了什么,因为这应该是可行的,这是非常关键的,但我不能让阿波罗从任何地方加载,除了一个空的缓存。我应该知道我做错了什么。我使用的是NGX datatables,加载的数据带有observable,但没有更新表数据。我还在努力让它工作,但不是阿波罗的客户。最终我的问题是angular处理事件的方式。我从组件a调用组件B中的一个函数。即使我正在更新datatable的底层数据,推送事件也没有发生。我仍然不明白为什么,但将datatable移动到生成原始事件的组件(组件A)中解决了我的问题。