共享存储:set() 方法

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

set() 方法是 SharedStorage 接口的方法,它可以将新的键值对存储在当前来源的共享存储中,或更新现有的键值对。

语法

js
set(key, value)
set(key, value, options)

参数

key

一个字符串,表示要添加或更新的键值对中的键。

value

一个字符串,表示要添加或更新的值。

options 可选

一个包含以下属性的选项对象

ignoreIfPresent

布尔值。 值 true 表示如果存在指定 key 的键值对,则 set 操作将中止。 默认值 false 表示 set 操作将覆盖之前的值。

返回值

一个 Promise,它将在完成时返回 undefined

异常

  • 如果以下情况发生,则 Promise 将会以 TypeError 拒绝:
    • 由于共享存储不可用(例如,它通过浏览器设置禁用),创建的条目未成功存储在数据库中。
    • key 和/或 value 超过了浏览器定义的最大长度。
    • 调用站点未在成功的 隐私沙箱注册流程 中包含共享存储 API。
  • WorkletSharedStorage 的情况下,如果工作线程模块未通过 SharedStorageWorklet.addModule() 添加,则 Promise 将会以 TypeError 拒绝。

注意:WindowSharedStorage 的情况下,如果 set() 操作由于共享存储不可用以外的原因未成功写入数据库,则不会抛出任何错误 - 操作仍然会以 undefined 完成。

示例

js
window.sharedStorage
  .set("ab-testing-group", "0", {
    ignoreIfPresent: true,
  })
  .then(console.log("Set operation completed"));

规范

规范
共享存储 API
# dom-sharedstorage-set

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅