Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Bridage (Throttle)
Lebridage désignait à l'origine le ralentissement du débit d'un fluide au moyen d'une obstruction. En programmation, il désigne la limitation d'un processus de sorte qu'une opération ne puisse être effectuée qu'à un rythme déterminé.
Le bridage est très proche duanti-rebond. La différence essentielle est que, lorsque des appels se produisent en continu, le bridage garantit que l'opération est exécutée à une fréquence maximale donnée, tandis que l'anti-rebond attend que les appels cessent pendant une durée donnée avant d'exécuter l'opération.
Un cas d'utilisation typique du bridage intervient lors de la synchronisation avec un état qui se met continuellement à jour. Considérez une fonctiononScrolled, qui écoute l'événementscroll. L'événementscroll peut se déclencher aussi souvent qu'à chaque pixel défilé, si bien que la fonction est appelée à des intervalles très courts. SionScrolled est coûteuse en calcul, des appels précoces peuvent empêcher des appels ultérieurs d'être exécutés en temps voulu, ou bloquer d'autres opérations, entraînant un phénomène perceptible desaccade. Dans ce cas, on peut brideronScrolled pour qu'elle ne soit appelée au maximum qu'une fois toutes les 10 millisecondes :
- Le premier appel à
onScrolledcorrespond aubord d'attaque (leading edge en anglais). - Pour chaque appel suivant à
onScrolled, s'il se produit dans les 10 millisecondes suivant le premier appel, il appartient au même « lot » que le premier appel. - Après écoulement de 10 millisecondes depuis le premier appel à
onScrolled, on atteint lebord de sortie (trailing edge en anglais).
En général,onScrolled s'exécute une fois uniquement au bord d'attaque, bien que parfois elle puisse s'exécuter au bord de sortie, ou aux deux bords, selon les besoins. Si elle s'exécute aux deux bords, l'implémentation du bridage veille généralement à ce que l'appel du bord d'attaque suivant ne soit pas déclenché avant au moins 10 millisecondes après le précédent bord de sortie.
Grâce au bridage, l'effet deonScrolled reste mis à jour et appliqué en continu — par exemple, si elle déplace un autre élément du DOM en fonction de la position de défilement du document, cet élément continue d'être déplacé pendant le défilement — mais la fonction n'est pas exécutée plus souvent que nécessaire.
Bridage du réseau désigne la simulation d'une connexion réseau plus lente en autorisant seulement un certain volume de données à être transféré à la fois.Brider un minuteur signifie réduire la précision du minuteur de sorte que, lorsqu'on lit continuellement le minuteur (par exempleDate.now()), la valeur du minuteur ne change qu'à une fréquence maximale donnée. Les deux sont des applications spécifiques du concept général de bridage.
Dans cet article
Voir aussi
- Termes du glossaire :
- Anti-rebond et bridage expliqués par des exemples(angl.) sur CSS-Tricks (6 avril 2016)