PeriodicSyncManager
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers.
Giao diện PeriodicSyncManager của Web Periodic Background Synchronization API cung cấp cách đăng ký các tác vụ để chạy trong service worker theo các khoảng thời gian định kỳ khi có kết nối mạng. Các tác vụ này được gọi là yêu cầu đồng bộ hóa nền định kỳ. Truy cập PeriodicSyncManager thông qua ServiceWorkerRegistration.periodicSync.
Thuộc tính phiên bản
Không có.
Phương thức phiên bản
PeriodicSyncManager.register()Experimental-
Đăng ký yêu cầu đồng bộ hóa định kỳ với trình duyệt với tag và tùy chọn được chỉ định. Trả về
Promisephân giải khi đăng ký hoàn tất. -
Trả về
Promisephân giải với danh sách các đối tượngchuỗiđại diện cho các tag hiện đang được đăng ký để đồng bộ hóa định kỳ. PeriodicSyncManager.unregister()Experimental-
Hủy đăng ký yêu cầu đồng bộ hóa định kỳ tương ứng với tag được chỉ định và trả về
Promisephân giải khi hủy đăng ký hoàn tất.
Ví dụ
Các ví dụ sau đây cho thấy cách sử dụng giao diện này.
Yêu cầu Periodic Background Sync
Hàm bất đồng bộ sau đăng ký một periodic background sync với khoảng thời gian tối thiểu một ngày từ ngữ cảnh duyệt web:
async function registerPeriodicNewsCheck() {
const registration = await navigator.serviceWorker.ready;
try {
await registration.periodicSync.register("get-latest-news", {
minInterval: 24 * 60 * 60 * 1000,
});
} catch {
console.log("Periodic Sync could not be registered!");
}
}
Xác minh Background Periodic Sync theo Tag
Code này kiểm tra xem tác vụ Periodic Background Sync với một tag nhất định có được đăng ký không.
navigator.serviceWorker.ready.then((registration) => {
registration.periodicSync.getTags().then((tags) => {
if (tags.includes("get-latest-news")) skipDownloadingLatestNewsOnPageLoad();
});
});
Xóa tác vụ Periodic Background Sync
Code sau xóa tác vụ Periodic Background Sync để ngừng đồng bộ các bài viết trong nền.
navigator.serviceWorker.ready.then((registration) => {
registration.periodicSync.unregister("get-latest-news");
});
Thông số kỹ thuật
| Specification |
|---|
| Web Periodic Background Synchronization> # periodicsyncmanager-interface> |