WindowSharedStorage: run() 方法

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

WindowSharedStorage 接口的 run() 方法会执行一个在当前源的 SharedStorageWorklet 中注册的模块里注册的 run 操作

注意: Run output gate 旨在作为一种通用的方法来处理某些共享存储数据。

语法

js
run(name)
run(name, options)

参数

name

一个字符串,代表在共享存储 worklet 模块中注册的操作的名称。它必须与在 SharedStorageWorkletGlobalScope.register() 中注册操作时给定的名称相匹配。

options 可选

一个选项对象,可以包含以下属性:

data 可选

一个对象,表示执行操作所需的任何数据。

keepAlive 可选

一个布尔值。如果设置为 true,则关联 worklet 的 SharedStorageWorkletGlobalScope 将保持活动状态,并且该操作可以再次运行。因此,您需要为每个非最后一次执行的操作都将 keepAlive 设置为 true。默认值 false 表示该操作运行后 SharedStorageWorkletGlobalScope 将终止,并且无法再次运行。

返回值

一个 Promise,它将以 undefined 解析。

异常

TypeError

在以下情况下抛出

  • 尚未通过 addModule() 添加 worklet 模块。
  • 共享存储被禁用(例如通过浏览器设置)。
  • 调用站点未在成功的 隐私沙盒注册流程中包含共享存储 API。

示例

js
async function measureUniqueReach() {
  // Load the Shared Storage worklet
  await window.sharedStorage.worklet.addModule("reach-measurement-worklet.js");

  // Run the reach measurement operation
  await window.sharedStorage.run("reach-measurement", {
    data: { contentId: "1234" },
  });
}

measureUniqueReach();

有关此示例的完整说明,请参阅 Unique reach measurement。有关更多示例,请参阅 Shared Storage API

规范

此特性似乎未在任何规范中定义。

浏览器兼容性

另见