What is Debouncing and Throttling in JavaScript?
Let's take an example of a đđ”đŒđœđœđ¶đ»đŽ đ°đźđżđ web app so that there will be a đ°đ”đČđ°đžđŒđđ đŻđđđđŒđ» đđŒ đœđčđźđ°đČ đźđ» đŒđżđ±đČđż đ¶đł đź đđđČđż đźđ°đ°đ¶đ±đČđ»đđźđčđčđ đ°đčđ¶đ°đžđ đđ”đČ đŻđđđđŒđ» đđđ¶đ°đČ đđ”đČđ» đ¶đ đđ¶đčđč đœđčđźđ°đČ đđ”đČ đŒđżđ±đČđż đđđ¶đ°đČ? (so it depends on the design of the Web App)
đđ đźđșđœđčđČ đđŒđ±đČ đđ¶đđ”đŒđđ đđČđŻđŒđđ»đ°đ¶đ»đŽ đźđ»đ± đ§đ”đżđŒđđđčđ¶đ»đŽ
Click Medocument.getElementById(âyâ).addEventListener(âclickâ, e => { console.log(âEvent triggeredâ) })
Codepen: https://codepen.io/yashmantri/pen/LYpdQZ
đŠđŒ, đ”đČđżđČ đđČđŻđŒđđ»đ°đ¶đ»đŽ đźđ»đ± đ§đ”đżđŒđđđčđ¶đ»đŽ đ°đŒđșđČđ đ¶đ»đđŒ đđ”đČ đœđ¶đ°đđđżđČ. đđ đ¶đ đđđČđ± đđŒ đźđđŒđ¶đ± đđ»đ»đČđ°đČđđđźđżđ đČđđČđ»đđ.
đđ¶đżđđ đčđČđ'đ đ±đ¶đđ°đđđ đđČđŻđŒđđ»đ°đ¶đ»đŽ:
đđČđŻđŒđđ»đ°đ¶đ»đŽ đșđČđźđ»đ that if you keep clicking on the same button the event will đŒđ»đčđ đŻđČ đđżđ¶đŽđŽđČđżđČđ± đŒđ» đđ”đČ đčđźđđ đ°đčđ¶đ°đž.
đđČđŻđŒđđ»đ°đČ đłđđ»đ°đđ¶đŒđ» đđźđžđČđ đđđŒ đźđżđŽđđșđČđ»đđ đłđ¶đżđđ đŒđ»đČ đ¶đ đđ”đČ đłđđ»đ°đđ¶đŒđ» đđ”đźđ đđŒđ đđźđ»đ đđŒ đČđ đČđ°đđđČ đŒđ» đź đ°đčđ¶đ°đž đźđ»đ± đđ”đČ đđČđ°đŒđ»đ± đŒđ»đČ đ¶đ đđ”đČ đ±đČđčđźđ.
Codepen: https://codepen.io/yashmantri/pen/jObpzZz
đĄđŒđ đčđČđ'đ đ±đ¶đđ°đđđ đ§đ”đżđŒđđđčđ¶đ»đŽ:
đ§đ”đżđŒđđđčđ¶đ»đŽ đ¶đ đđ¶đșđ¶đčđźđż đđŒ đđČđŻđŒđđ»đ°đ¶đ»đŽ. It avoids unnecessary events.
đŠđŒ đđŒđ đșđđđ đŻđČ đđŒđ»đ±đČđżđ¶đ»đŽ đđ”đźđ đ¶đ đđ”đČ đ±đ¶đłđłđČđżđČđ»đ°đČ đŻđČđđđČđČđ» đđ”đČđș?
đ§đ”đżđŒđđđčđ¶đ»đŽ đșđČđźđ»đ that iđł đđŒđ đ°đčđ¶đ°đž đź đŻđđđđŒđ», đđ”đČ đČđđČđ»đ đđ¶đčđč đŻđČ đđżđ¶đŽđŽđČđżđČđ± and đđ¶đđ”đ¶đ» đđ”đČ đ±đČđčđźđ (argument to the throttling function) if the user đ°đčđ¶đ°đžđ đđ”đČ đđźđșđČ đŻđđđđŒđ» đźđŽđźđ¶đ», the đČđđČđ»đ đđ¶đčđč đ»đŒđ đŻđČ đđżđ¶đŽđŽđČđżđČđ±.
The throttling function takes two arguments first one is the function that you want to execute on a click and the second one is the delay.
Codepen: https://codepen.io/yashmantri/pen/ZEbxrBj
đđźđđČ đđŒđ đČđđČđż đđđČđ± đđ”đżđŒđđđčđ¶đ»đŽ đŒđż đ±đČđŻđŒđđ»đ°đ¶đ»đŽ?