ui.util.rateLimit
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Bao bọc một hàm để cho phép gọi hàm đó tối đa một lần trong mỗi khoảng thời gian. Nếu hàm bao bọc được gọi nhiều lần, chỉ có lệnh gọi đầu tiên được thực hiện và không có lệnh gọi nào tiếp theo có hiệu lực cho đến khi khoảng thời gian đã trôi qua. Bạn có thể dùng cách này để đảm bảo một hàm tốn nhiều tài nguyên để chạy sẽ thực thi ngay lập tức nhưng không thực thi nhiều lần.
Ví dụ về cách sử dụng: Đối với lệnh gọi lại cho một lượt nhấp vào ui.Button, để ngăn nút bị nhấp đúp vô tình và lệnh gọi lại chạy hai lần.
Trả về hàm bị giới hạn tốc độ.
Cách sử dụng | Giá trị trả về |
---|
ui.util.rateLimit(func, delay, scope) | Chức năng |
Đối số | Loại | Thông tin chi tiết |
---|
func | Chức năng | Hàm cần gọi. |
delay | Số | Sau khi hàm được gọi và thực thi, số mili giây cần trì hoãn trước khi cho phép một lệnh gọi bổ sung của hàm. |
scope | Đối tượng, không bắt buộc | Đối tượng có phạm vi để gọi hàm. |
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 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. |"]]