SharedStorageWorkletGlobalScope: register() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

SharedStorageWorkletGlobalScope 接口的 register() 方法用于注册在当前 worklet 模块中定义的 operation

语法

js
register(name, operationCtor)

参数

name

一个字符串,表示您希望注册该 operation 的名称。当调用该 operation 时(例如通过 WindowSharedStorage.run()WindowSharedStorage.selectURL()),此名称将用于识别您想要运行的 operation。

operationCtor

一个字符串,表示要注册的 operation 的类名。这是在 operation 运行时调用的类构造函数。

返回值

无 (undefined)。

异常

TypeError

在以下情况下抛出

  • 已使用指定的名称注册了一个 operation。
  • operationCtor 不是一个有效的构造函数。
  • 该类不包含有效的 run() 方法。
  • 尚未通过 SharedStorageWorklet.addModule() 添加 worklet 模块。

示例

js
// ab-testing-worklet.js
class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from shared storage
    const experimentGroup = await this.sharedStorage.get("ab-testing-group");

    // Return the group number
    return experimentGroup;
  }
}

register("ab-testing", SelectURLOperation);

有关此示例的演练以及指向其他示例的链接,请参阅 Shared Storage API 入门页面。

注意: 可以在同一个共享存储工作线程模块脚本中定义和注册多个具有不同名称的操作;有关示例,请参阅SharedStorageOperation

规范

规范
共享存储 API
# dom-sharedstorageworkletglobalscope-register

浏览器兼容性

另见