PeriodicSyncManager: register() 方法

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

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

register() 方法是 PeriodicSyncManager 介面的一部分,它使用指定的標籤和選項向瀏覽器註冊一個週期性同步請求。它返回一個 Promise,該 Promise 在註冊完成時解析。

語法

js
register(tag, options)

引數

tag

一個唯一的 String 識別符號。

options 可選

一個包含以下可選資料的 Object

minInterval

週期性同步應該發生的最小間隔時間(以毫秒為單位)。

返回值

返回一個解析為 undefinedPromise

異常

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

瀏覽器相容性

另見