2017-10-11 134 views
-1

在React js中,我想在狀態設置爲pending時調用一個函數。React - 每隔幾秒檢查一次狀態變化

此狀態僅在API調用完成時纔會更改,可能需要幾秒鐘。

的流程爲:

  1. 初始API被調用
  2. 狀態設爲未決
  3. 二次API被調用,但可以採取若干秒來設置狀態,以完成
  4. 狀態。當是'完成'我想執行一項功能。

你會如何推薦'循環'來檢查每隔幾秒鐘的狀態變化?

我試過用componentDidUpdate(),但沒有多少運氣。

乾杯

編輯:
澄清 - 我在等待一個API調用需要幾秒鐘意味着我需要定期回來看看。

+2

您好,歡迎堆棧溢出!請添加相關代碼供我們審覈。就目前而言,您的問題太模糊了,我們無法幫助您。 – Chris

+0

當你的狀態改變時調用'componentWillUpdate'和'componentDidUpdate',只是使用它們。 – Walk

回答

0

你會如何推薦'循環'來檢查每隔幾秒鐘的狀態變化?

我不會。我會處理API調用的完成。如果它是異步的(如你所暗示的那樣),它將提供一種當它完成時得到通知的方式,它將接受回調或返回承諾等類似的事情。使用它,而不是一個計時器和循環。

+0

他可能已經知道,因爲他基於這個調用返回的狀態來設置狀態。 – Walk

+0

@Walk:因爲他/她正在談論使用計時器循環,所以我沒有在問題中看到任何證據。 –

+0

澄清 - 我正在等待一個需要幾秒鐘的API調用,這意味着我需要定期檢查。 –

0

您可以通過setState回調函數。

this.setState({ pending: true },() => { 
    console.log('State set completed for pending'); 
}); 
相關問題