ui.util.rateLimit
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Encapsule une fonction pour lui permettre d'être appelée au maximum une fois par intervalle. Si la fonction wrapper est appelée plusieurs fois, seul le premier appel sera pris en compte. Les appels suivants n'auront aucun effet tant que l'intervalle ne sera pas écoulé. Cela peut être utilisé pour s'assurer qu'une fonction coûteuse à exécuter s'exécute immédiatement, mais pas à plusieurs reprises.
Exemple d'utilisation : pour le rappel d'un clic sur un ui.Button, afin d'empêcher le double-clic accidentel sur le bouton et l'exécution du rappel deux fois.
Renvoie la fonction limitée en termes de fréquence.
Utilisation | Renvoie |
---|
ui.util.rateLimit(func, delay, scope) | Fonction |
Argument | Type | Détails |
---|
func | Fonction | Fonction à appeler. |
delay | Nombre | Nombre de millisecondes à attendre après l'appel et l'exécution de la fonction avant d'autoriser un nouvel appel de la fonction. |
scope | Objet, facultatif | Objet dans la portée duquel appeler la fonction. |
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/26 (UTC).
[null,null,["Dernière mise à jour le 2025/07/26 (UTC)."],[[["\u003cp\u003eLimits a function's execution to at most once per specified interval, preventing rapid, repeated calls.\u003c/p\u003e\n"],["\u003cp\u003eUseful for optimizing expensive functions or preventing unintended double-click actions, such as on UI buttons.\u003c/p\u003e\n"],["\u003cp\u003eReturns a rate-limited version of the original function, accepting the function, delay, and optional scope as parameters.\u003c/p\u003e\n"],["\u003cp\u003eUtilizes a delay mechanism to ensure subsequent calls are ignored until the interval has elapsed, guaranteeing controlled execution.\u003c/p\u003e\n"]]],[],null,["# ui.util.rateLimit\n\n\u003cbr /\u003e\n\nWraps a function to allow it to be called, at most, once per interval. If the wrapper function is called more than once, only the first call will go through, and no subsequent invocations will have an effect until the interval has elapsed. This can be used to ensure a function that is expensive to run executes immediately but doesn't execute repeatedly.\n\n\u003cbr /\u003e\n\nExample use: For the callback to a click on a ui.Button, in order to prevent the button from being accidentally double-clicked and the callback running twice.\n\nReturns the rate-limited function.\n\n| Usage | Returns |\n|---------------------------------------------|----------|\n| `ui.util.rateLimit(func, delay, `*scope*`)` | Function |\n\n| Argument | Type | Details |\n|----------|------------------|------------------------------------------------------------------------------------------------------------------------------------------|\n| `func` | Function | Function to call. |\n| `delay` | Number | After the function is called and executed, the number of milliseconds to delay before allowing an additional invocation of the function. |\n| `scope` | Object, optional | Object in whose scope to call the function. |"]]