使用Apollo Client检查多个突变请求的返回

时间:2017-05-17 16:55:00

标签: reactjs graphql apollo react-apollo apollo-client

我正在使用Apollo Client和React创建一个简单的购物车,但是我显示从服务器检索到的数据的总价格没有参考最后发送的请求而是接收到的最后一个请求。它有一种方法使请求同步或类似的东西?或者甚至如何知道最后一次发送突变的回报是什么?

我的代码:

  this.props.mutate({ variables: { input: {
    lineItems: this.productCart
  }}})
  .then(({ data }) => {
    this.setState({
      subtotalPrice : data.manageCheckout.checkout.subtotalPrice
    })
  }).catch((error) => {
    console.warn('there was an error sending the query', error)
  })

1 个答案:

答案 0 :(得分:0)

我不是100%我跟着你,但我不认为这不是支持。变异查询不等待承诺完成。

apollo-client

存在问题

尝试解决此问题的一种方法是使用setTimeout,因此只有在商店更新后才会更新价格。

 this.props.mutate({ variables: { input: {
    lineItems: this.productCart
  }}})
  .then(({ data }) => {
    setTimeout(() => {
      this.setState({ 
      subtotalPrice : data.manageCheckout.checkout.subtotalPrice
    })
   )}
  }).catch((error) => {
    console.warn('there was an error sending the query', error)
  })

这是一个黑客,但它对我有用。仍在等待github问题以获取更多信息。