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

浏览器兼容性