ServiceWorkerRegistration.unregister()

unregister()ServiceWorkerRegistration インターフェイスのメソッドで、サービスワーカーの登録を解除し、プロミス (Promise) を返します。 登録が見つからなかった場合、プロミスは false に解決されます。 それ以外の場合は、登録解除したかどうかに関係なく、true に解決されます(誰かが同じスコープで ServiceWorkerContainer.register() を同時に呼び出した場合は、登録解除されない場合があります)。 サービスワーカーは、登録解除される前に進行中の操作を完了します。

メモ: この機能はウェブワーカーで利用できます。

構文

js
unregister()

引数

なし。

返値

Promise で、サービスワーカーが登録解除されたかどうかを示す論理値で解決します。

次の簡単な例では、サービスワーカーの例を登録していますが、すぐに録を解除しています。

js
if ("serviceWorker" in navigator) {
  navigator.serviceWorker
    .register("/sw.js", { scope: "/" })
    .then((registration) => {
      // 登録に成功
      console.log("登録に成功しました。");
      registration.unregister().then((boolean) => {
        // boolean = true ならば、登録解除は成功
      });
    })
    .catch(function (error) {
      // 登録に失敗しました
      console.error(`登録に失敗しました: ${error}`);
    });
}

仕様書

Specification
Service Workers
# navigator-service-worker-unregister

ブラウザーの互換性

BCD tables only load in the browser

関連情報