ui.util.rateLimit
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zawiera funkcję, która umożliwia wywoływanie jej maksymalnie raz w określonym przedziale czasu. Jeśli funkcja opakowująca zostanie wywołana więcej niż raz, tylko pierwsze wywołanie zostanie wykonane, a kolejne wywołania nie będą miały wpływu, dopóki nie upłynie określony interwał. Można jej użyć, aby zapewnić natychmiastowe wykonanie funkcji, która jest kosztowna, ale nie jest wykonywana wielokrotnie.
Przykład użycia: wywołanie zwrotne kliknięcia ui.Button, aby zapobiec przypadkowemu dwukrotnemu kliknięciu przycisku i dwukrotnemu uruchomieniu wywołania zwrotnego.
Zwraca funkcję z ograniczeniem liczby wywołań.
Wykorzystanie | Zwroty |
---|
ui.util.rateLimit(func, delay, scope) | Funkcja |
Argument | Typ | Szczegóły |
---|
func | Funkcja | Funkcja do wywołania. |
delay | Liczba | Po wywołaniu i wykonaniu funkcji liczba milisekund opóźnienia przed zezwoleniem na kolejne wywołanie funkcji. |
scope | Obiekt (opcjonalnie) | Obiekt, w którego zakresie ma zostać wywołana funkcja. |
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-26 UTC.
[null,null,["Ostatnia aktualizacja: 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. |"]]