簡體   English   中英

取消 lodash 的去抖,不調用 function

[英]Cancel lodash's debounce, without invoking the function

我的問題是,如果有辦法取消 lodash 的去抖動,而不調用 function 去抖動。 來自 lodash 的.cancel()仍然調用 function。

也許我正在尋找錯誤的方法。 如果是這樣,還有其他解決方案嗎?

先感謝您。

在去抖動的 function 上調用cancel方法不會調用它,除非它處於超時的后沿。 您可以使用trailing選項來配置它。 文檔

 const fn1 = () => console.log('Called 1'); const fn2 = () => console.log('Called 2'); const fn3 = () => console.log('Called 3'); const debouncedFn1 = _.debounce(fn1, 1000); const debouncedFn2 = _.debounce(fn2, 1000); const debouncedFn3 = _.debounce(fn3, 1000, { trailing: false }); // Will not log debouncedFn1(); setTimeout(debouncedFn1.cancel, 200); // Will log debouncedFn2(); setTimeout(debouncedFn2.cancel, 1000); // Will not log debouncedFn3(); setTimeout(debouncedFn3.cancel, 1000);
 <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.19/lodash.min.js"></script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM