PeriodicSyncManager:register() 方法

实验性: 这是一个 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表格

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

register() 方法是 PeriodicSyncManager 接口的一个方法,它使用指定的标签和选项向浏览器注册一个定期同步请求。它返回一个 Promise,该 Promise 在注册完成后解析。

语法

js
register(tag, options)

参数

tag

一个唯一的 String 标识符。

options 可选

一个包含以下可选数据的 Object

minInterval

定期同步发生的最小间隔时间(以毫秒为单位)。

返回值

返回一个 Promise,该 Promise 解析为 undefined

异常

InvalidStateError DOMException

如果没有活动的 ServiceWorker 存在,则返回此异常。

NotAllowedError DOMException

如果未授予后台定期同步的权限,则返回此异常。

InvalidAccessError DOMException

如果活动窗口不是主窗口(不是 auxiliarytop-level 类型),则返回此异常。

示例

以下异步函数从浏览上下文注册一个最小间隔为一天的定期后台同步

js
async function registerPeriodicNewsCheck() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.periodicSync.register("fetch-news", {
      minInterval: 24 * 60 * 60 * 1000,
    });
  } catch {
    console.log("Periodic Sync could not be registered!");
  }
}

规范

规范
Web 定期后台同步
# dom-periodicsyncmanager-register

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅