Skip to main content

Poll helper

Polling server để lấy thông tin mới cho page hiện tại là nhu cầu phổ biến, vì vậy Inertia cung cấp helper để giảm boilerplate. Helper tự động dừng polling khi page unmount. Đối số bắt buộc duy nhất là khoảng thời gian polling tính bằng mili giây.
Nếu cần truyền thêm request option cho poll helper, bạn có thể truyền bất kỳ option nào của router.reload làm tham số thứ hai.
Bạn cũng có thể truyền function trả về request options. Function được evaluate ở mỗi tick, cho phép poll phản ánh component state mới nhất.
Nếu muốn kiểm soát hành vi polling chi tiết hơn, poll helper cung cấp các method stopstart để bạn chủ động bắt đầu hoặc dừng. Có thể truyền option autoStart: false để ngăn helper tự bắt đầu polling khi component mount.
Poll helper cũng trả reactive value polling cho biết poll có đang chạy hay không, phù hợp để render nút pause/resume. Giá trị này không cho biết có request đang chạy hay không.

Chế độ concurrency

Mặc định, poll helper gửi request mới ở mỗi tick kể cả khi request trước vẫn đang chạy. Bạn có thể kiểm soát bằng tùy chọn mode, nhận một trong ba giá trị: overlap, cancel hoặc rest. Mode overlap mặc định cho phép request chạy song song. Mode cancel hủy request đang chạy khi tick tiếp theo xảy ra. Mode rest xem interval là khoảng thời gian giữa lúc request trước kết thúc và request sau bắt đầu, vì vậy request không bao giờ overlap.

Throttling

Mặc định, poll helper sẽ giảm 90% tần suất request khi tab trình duyệt ở background. Nếu muốn tắt hành vi này, truyền option keepAlive.

Tài liệu chính thức

Bài dịch này được đối chiếu từ tài liệu Inertia.js v3 chính thức. Nếu có khác biệt do phiên bản hoặc cập nhật mới, hãy ưu tiên tài liệu chính thức làm nguồn tham chiếu.