ServiceWorkerGlobalScope: sự kiện sync

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is only available in Service Workers.

Sự kiện sync của giao diện ServiceWorkerGlobalScope được kích hoạt khi trang (hoặc worker) đã đăng ký sự kiện với SyncManager đang chạy và ngay khi kết nối mạng khả dụng.

Sự kiện này không thể hủy và không nổi bọt.

Cú pháp

Sử dụng tên sự kiện trong các phương thức như addEventListener(), hoặc thiết lập một thuộc tính trình xử lý sự kiện.

js
addEventListener("sync", (event) => { })

onsync = (event) => { }

Loại sự kiện

Một SyncEvent. Kế thừa từ ExtendableEventEvent.

Event ExtendableEvent SyncEvent

Thuộc tính sự kiện

Kế thừa các thuộc tính từ giao diện tổ tiên, ExtendableEventEvent.

SyncEvent.tag Read only

Trả về định danh do nhà phát triển định nghĩa cho SyncEvent này.

SyncEvent.lastChance Read only

Trả về true nếu user agent sẽ không thực hiện thêm bất kỳ lần đồng bộ nào sau lần thử hiện tại.

Ví dụ

Ví dụ sau cho thấy cách phản hồi một sự kiện đồng bộ trong service worker.

js
self.addEventListener("sync", (event) => {
  if (event.tag === "sync-messages") {
    event.waitUntil(sendOutboxMessages());
  }
});

Bạn cũng có thể thiết lập trình xử lý sự kiện bằng cách sử dụng thuộc tính onsync:

js
self.onsync = (event) => {
  // …
};

Đặc tả kỹ thuật

Specification
Web Background Synchronization
# dom-serviceworkerglobalscope-onsync

Tương thích trình duyệt

Xem thêm