SharedStorageWorkletGlobalScope: register() 方法

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

register() 方法是 SharedStorageWorkletGlobalScope 接口的一部分,用于注册在当前工作线程模块中定义的 操作

语法

js
register(name, operationCtor)

参数

name

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

operationCtor

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

返回值

无(undefined)。

异常

TypeError

如果抛出

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

示例

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

规范

规范
Shared Storage API
# dom-sharedstorageworkletglobalscope-register

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载。

另请参阅