Debounce and Throttle are two very well known rate limiting techniques used everywhere in programming. Even though you can use popular third party libraries to add debounce/throttle in your app, it can be easily implemented in few lines of javascript. Also it is a good learning experience if you try to implement from scratch.
0:00 - Intro - Definition of debounce and throttle
01:01 - debounce using third party libraries - lodash / underscore
04:36 - implement debounce from scratch using plain javascript
07:54 - Throttle using third party libraries - lodash / underscore
09:37 - implement throttle from scratch using plain javascript