Use throttle instead of debounce #160
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First of all, please understand my bad english.
Version
2.3.1
Vue.js version
2.5.13
What is expected?
When we scroll straight down on the mobile browser, @infinite event should be called immediately after passed the given distance.
What is actually happening?
Since scroll event occurs very frequently and it's faster than debounceDuration in the case above, @infinite is being called after 50ms from scroll stoped. Consequently, @infinite is being called at the bottom of content ignoring given distance.
How to reproduce this problem?
In mobile browser, with a container has overflow-scrolling: touch and scroll down to the bottom very fast.
I think it is more common to use throttle function to limit rate of scroll event handler. So I forked this repo and modified debounce to throttle. It fixed the problem above.