SyncManager:register() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

注意:此功能在 Web Workers 中可用。

SyncManager 介面的 register() 方法註冊一個同步事件,一旦網路連線可用,就會在關聯的服務工作執行緒中觸發一個 sync 事件。

語法

js
register(tag)

引數

tag

此同步事件的識別符號。這將是傳遞給服務工作執行緒的 sync 事件處理程式的 SyncEventtag 屬性值。

返回值

一個 Promise,解析為 undefined

異常

InvalidStateError DOMException

如果當前服務工作執行緒未啟用,則丟擲此異常。

NotAllowedError DOMException

如果使用者停用了後臺同步,則丟擲此異常。

示例

以下非同步函式從瀏覽上下文註冊後臺同步

js
async function syncMessagesLater() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.sync.register("sync-messages");
  } catch {
    console.log("Background Sync could not be registered!");
  }
}

規範

規範
Web 後臺同步
# dom-syncmanager-register

瀏覽器相容性