SyncManager:register() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
备注: 此特性在 Web Worker 中可用。
SyncManager
接口的 register()
方法用于注册同步事件,一旦网络连接可用,就会在关联的 Service Worker 内触发 sync
事件。
语法
js
register(tag)
参数
返回值
异常
InvalidStateError
DOMException
-
如果当前的 Service Worker 不是活动状态,则抛出该错误。
NotAllowedError
DOMException
-
如果用户禁用了后台同步功能,则抛出该错误。
示例
以下异步函数在浏览器的上下文注册后台同步任务:
js
async function syncMessagesLater() {
const registration = await navigator.serviceWorker.ready;
try {
await registration.sync.register("sync-messages");
} catch {
console.log("Background Sync 无法被注册!");
}
}
规范
Specification |
---|
Web Background Synchronization # dom-syncmanager-register |
浏览器兼容性
BCD tables only load in the browser