ServiceWorkerRegistration.unregister()
ServiceWorkerRegistration
(en-US) 接口的 unregister
方法用于取消对 service worker 的注册并返回一个 Promise
。没有找到注册时,这个 promise 返回 false
,否则,不论取消成功与否都返回 true
(当其他人在同一作用域调用了 ServiceWorkerContainer.register
可能取消失败)service worker 会在取消注册前完成一切正在进行的操作。
备注: 这一特性同样适用于 Web Workers.
语法
ServiceWorkerRegistration.unregister().then(function(boolean) { });
参数
None.
返回
Promise 返回一个 bool 值表示 service worker 是否被取消注册。
例子
下面的简单例子中注册了一个 service worker,然后立即取消了:
js
if ("serviceWorker" in navigator) {
navigator.serviceWorker
.register("/sw-test/sw.js", { scope: "sw-test" })
.then(function (registration) {
// registration worked
console.log("Registration succeeded.");
registration.unregister().then(function (boolean) {
// if boolean = true, unregister is successful
});
})
.catch(function (error) {
// registration failed
console.log("Registration failed with " + error);
});
}
规范
Specification |
---|
Service Workers # navigator-service-worker-unregister |
浏览器兼容性
BCD tables only load in the browser