每次更新一個對象時,我需要輸入一個debounce。如何做一個隊列以等待5秒鐘來執行一個函數
這是我需要解決
updatePlayerAmount (data) {
this.state.playerSlots[data.position - 1].playerAmount = data.playerAmount;
}
data
返回這樣的事情
{
playerAmount : 10,
position : 2
}
的playerAmount
鍵將改變對某一個元素每次點擊他的價值帕拉姆的功能。
SO:
每次用戶點擊某些元件上,該量將在這個視圖改變,但我需要的量每5秒進行更新,它物質簡化版,用戶是否點擊7時間在2秒內。
我用5秒鐘的setTimeout
做了它,但我遇到的問題是用戶在5秒內點擊了7次元素,而且看不到所做的更改,而是全部更改只有一次。而且我需要用戶每5秒鐘觀察視圖中的更改。
根據同事給我的解釋,我需要把新的變化放在一個數組中,並且聽取這些變化......(?)但是,怎麼樣?
你明白了嗎?
PS:我正在使用lodash
但我不知道如何在這種情況下使用它。
更新
我做了這樣的
_playerAmount = (data) => {
this.state.playerSlots[data.position - 1].playerAmount = data.playerAmount;
}
updatePlayerAmount (data) {
_.debounce(this._playerAmount(data), 5000);
}
,但我在控制檯
Uncaught TypeError: Expected a function
所以得到一個錯誤,在這裏你有什麼建議?
可以使用的setInterval的調用每5秒更新一次功能。除此之外,您還可以在用戶立即點擊時調用更新功能。 – Danmoreng
@ user2415266我可以有代碼示例嗎? – NietzscheProgrammer
寫了一個答案,你必須先澄清你想要的,然後我可以給你代碼。 – Danmoreng