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

React Apollo - How to make multiple queries in a single pollInterval

我有多个查询要每 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 }
  ),
  ...
)

我现在的做法是将多个查询合并为一个,例如

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