commit
501bdf6d4f
1 changed files with 2 additions and 2 deletions
|
@ -33,7 +33,7 @@ function throttle(func, ms) {
|
|||
A call to `throttle(func, ms)` returns `wrapper`.
|
||||
|
||||
1. During the first call, the `wrapper` just runs `func` and sets the cooldown state (`isThrottled = true`).
|
||||
2. In this state all calls memorized in `savedArgs/savedThis`. Please note that both the context and the arguments are equally important and should be memorized. We need them simultaneously to reproduce the call.
|
||||
3. ...Then after `ms` milliseconds pass, `setTimeout` triggers. The cooldown state is removed (`isThrottled = false`). And if we had ignored calls, then `wrapper` is executed with last memorized arguments and context.
|
||||
2. In this state all calls are memorized in `savedArgs/savedThis`. Please note that both the context and the arguments are equally important and should be memorized. We need them simultaneously to reproduce the call.
|
||||
3. After `ms` milliseconds pass, `setTimeout` triggers. The cooldown state is removed (`isThrottled = false`) and, if we had ignored calls, `wrapper` is executed with the last memorized arguments and context.
|
||||
|
||||
The 3rd step runs not `func`, but `wrapper`, because we not only need to execute `func`, but once again enter the cooldown state and setup the timeout to reset it.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue