vue-apollo反应式fetchPolicy

时间:2019-03-31 12:09:37

标签: vue.js graphql vue-apollo

我想知道是否可以对fetchPolicy使用某种反应型vue-apollo

The same way it's possible to have reactive parameters

{
  name: 'MyComponent',
  apollo: {
    query: gql`
      query myQuery ($foo: String!) {
        bar (foo: $foo)
      }
    `,
    variables () {
      return {
        foo: this.someReactiveProperty
      }
    }
  }
}

是否可以使用反应式fetchPolicy

{
  name: 'MyComponent',
  apollo: {
    query: gql`
      query myQuery {
        foo
      }
    `,
    fetchPolicy () { // IS THIS POSSIBLE IN ANY WAY ?
      if (testSomething()) {
        return 'cache-and-network'
      }

     return 'network-only'
    }
  }
}

我的问题是:我有一个vue-apollo组件,该组件连接到帖子列表。根据用户选择的日期,列表会有所不同。

在今天不是今天的时候,我想保留默认的fetchPolicy,即cache-and-network,因为我确信过去无法添加帖子,因此我可以信任阿波罗缓存。

但是,当用户选择today作为发布信息的日期时,我想要一个network-only的政策,因为也许自用户首次加载页面以来就已经添加了帖子,也许缓存错误。

谢谢,我希望我的解释很清楚

0 个答案:

没有答案