SyncManager: register() メソッド

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

SyncManager インターフェイスの register() メソッドは、同期イベントを登録します。このイベントは、ネットワーク接続が利用可能になるとすぐに、関連付けられたサービスワーカー内で sync イベントを発生させます。

構文

js
register(tag)

引数

tag

同期イベントの識別子です。これは、サービスワーカーの sync イベントのハンドラーに渡される SyncEventtag プロパティの値になります。

返値

undefined で解決する Promise です。

例外

InvalidStateError DOMException

現在のサービスワーカーがアクティブでないとき投げられます。

NotAllowedError DOMException

バックグラウンド同期がユーザーにより無効化されているとき投げられます。

以下の非同期関数は、ブラウジングコンテキストからバックグラウンド同期を登録します。

js
async function syncMessagesLater() {
  const registration = await navigator.serviceWorker.ready;
  try {
    await registration.sync.register("sync-messages");
  } catch {
    console.log("バックグラウンド同期の登録に失敗しました!");
  }
}

仕様書

Specification
Web Background Synchronization
# dom-syncmanager-register

ブラウザーの互換性

BCD tables only load in the browser