2017-05-17 7 views
0

私はApollo ClientとReactを使用して簡単なショッピングカートを作っていますが、サーバーから取得した総額は最後に送信されたリクエスト受信した最後の要求までです。そこには、要求を同期させる方法などがありますか?あるいは、最後の突然変異からの戻り値が何であるか知る方法さえも送信されましたか?Apollo Clientを使用して複数の突然変異リクエストの返品を確認する

マイコード:

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) 
    }) 

答えて

0

は、私はあなたを、次の午前は100%ではないが、私は、これはサポートされていないとは思いません。突然変異のクエリは、約束が完了するのを待つことはありません。あなたはこの問題を解決しようとするに取り掛かることができ

apollo-client

一つに対して問題があります方法は、ストアが更新された後setTimeoutのでyouor価格が唯一の更新された使用することです。

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の問題をまだ待っています。

+0

これはうまくいきませんでした:/すべての同期を取得するために各クリックの画面に読み込みを追加する必要があります...しかし、答えに感謝:) –

関連する問題