-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
fix(useThrottleFn)!: align with traditional throttle behavior #4923
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
@vueuse/components
@vueuse/core
@vueuse/electron
@vueuse/firebase
@vueuse/integrations
@vueuse/math
@vueuse/metadata
@vueuse/nuxt
@vueuse/router
@vueuse/rxjs
@vueuse/shared
commit: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM :>
@ilyaliao Sorry, I missed this in my earlier review. Just noticed a pair of redundant parentheses — submitted a new commit that only removes the parentheses around |
@ilyaliao maybe we should wait for v14? |
Good idea, I think this change will affect quite a few users |
Before submitting the PR, please make sure you do the following
fixes #123
).Description
This PR fixes an inconsistency in
useThrottleFn
's behavior whenleading: false
, making it behave more likelodash.throttle
.Previously, when
leading
was set tofalse
, the function could still execute on the second call if the first call was suppressed. This was becauselastExec
was not updated when the call was skipped, resulting in incorrectelapsed
calculation.This PR updates the logic to ensure that the throttle interval is respected properly, even when
leading: false
. This change aligns the behavior with developers’ expectations andlodash
's semantics.Fixes #4920.
Fixes #4551.
Additional context
leading: false
, as the second call would unexpectedly pass through the throttle.Original issue discussion: [#4920](#4920)