[英]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.