2017-12-27 67 views
0

我有一段數據,當數據到期時要更新,此數據有一個存儲值和到期日期,兩者都是日期/時間(以毫秒爲單位)。更新基於瀏覽器中的時間到期的數據

我試圖找出最好的方法來做到這一點,我想我需要讓瀏覽器跟蹤時間和當前時間匹配到期時間,然後我可以打電話更新。

我不確定是否會讓瀏覽器意識到這一點是什麼? 該項目是React App,我也在考慮使用socket.io作爲另一種選擇。

編輯:希望避免使用setTimeout,因爲我需要調用此生命週期方法來檢查。理想情況下,如果用戶永遠不會離開頁面/組件,那麼就不會觸發新的生命週期方法,但我仍然希望檢查並將更新推送給它們。

回答

0

這個過期後會有新的數據點嗎?

您可以查看當前數據在掛載時仍然有效的時間。然後,爲該持續時間設置一個超時,它將調用函數來獲取新的數據點。之後,繼續使用該邏輯。基本上,有一個基於到期日期減去Date.now()的變量setTimeout值。

+0

調用相同的點,但即時通訊尋找一種方式來做到這一點,而不使用setTimeout或檢查willMount,如果用戶留在頁面上,永遠不會離開,我還想更新。不幸的是,這意味着用戶永遠不會去任何地方,所以生命週期不會被啓動。 –

+0

嗯,我猜你可以設置一個套接字來推動新的數據點並更新該事件的視圖。擁有一個帶有過期日期的靜態對象將需要您執行類似setTimeout的操作。您甚至可以讓後端爲數據點設置超時,並通過套接字將事件發送給所有正在偵聽的客戶端。 –