我有一個場景,我需要在輸入完成兩秒后調度一個動作。(假設用戶在沒有 2 秒間隔的情況下輸入 1000,所以我只需要在輸入 1000 和 2 秒后調度操作)。以前我使用debounce-promise來做這樣的事情,我需要從 API 獲取下拉列表,但為此我直接在組件中使用了帶有 AJAX 調用的庫。它工作正常?,F在我需要分派這樣的動作。 // should be dispatched only for the last request const getRateReq = dispatch(getRates()); const getRate = debounce(getRateReq, 2000, { leading: false, }); const onChange = (e) => { setValue(e.target.value); getRate(e.target.value); }現在動作也只在完成輸入兩秒后調度。但是隨后它會發出 1、10、100、1000 的所有請求(即使 1000 是在沒有兩秒間隔的情況下輸入的)。如何在 2 秒內修復此問題并僅針對最后一個輸入調度操作?任何幫助,將不勝感激。謝謝編輯:添加了基本的 onChange 功能
如何延遲調度動作(去抖動)
慕妹3146593
2021-12-12 16:04:49