React Apollo - 如何在单个pollInterval中进行多个查询

时间:2018-05-17 09:23:37

标签: javascript graphql react-apollo

我有多个查询要在每10秒后获取一次,我可以像这样获取查询:

compose(
  graphql(QUERY_1, {
    options: {
      pollInterval: 10000
    }
  }),
  graphql(QUERY_2, {
    options: {
      pollInterval: 10000
    }
  }),
  ....
)

但这会产生多个我不想要的间隔。在react-apollo中是否有任何方法可以在一个时间间隔内进行多个查询。例如:

compose(
  graphql([QUERY_1, QUERY_2],
    options: { pollInterval: 10000 }
  ),
  ...
)

1 个答案:

答案 0 :(得分:0)

我现在这样做的方法是将多个查询组合在一起,例如

const QUERIES_GROUP = gql`
  {
    QUERY_1 ...,
    QUERY_2 ...
  }
`
compose(
  graphql(QUERIES_GROUP, {
    options: { pollInterval: 10000 }
  })
)

使用上述方法的缺点是我们无法在其他组件中重用查询QUERY_1QUERY_2

另一种选择是使用批处理https://www.apollographql.com/docs/link/links/batch-http.html