共计 698 个字符,预计需要花费 2 分钟才能阅读完成。
存储脚本接口
该接口为项目提供对存储的访问。它基本上包装了基于 IndexedDB 的简单键值存储引擎。这意味着任何可以在 IndexedDB 中存储的数据都可以使用这些方法进行存储,例如数字、字符串、Blob 等。它通常通过 IRuntime 属性的 IStoragestorage 进行访问。
此接口访问与本地存储插件相同的存储。因此,从事件表中存储的项目也可以从脚本中读取,反之亦然。然而,请注意,Construct 表达式只能是字符串或数字,所以如果脚本存储了其他类型,则无法在事件表中使用。
与本地存储插件一样,存储是特定项目独有的。它不与其他项目或同一来源的其他网站存储共享。
示例
请参阅本地存储 – 脚本示例,了解如何使用这些存储 API 来跟踪高分。
存储 API
async getItem(key)
从存储中读取一个项目。如果该项目存在于存储中,返回一个解析为项目值的 promise,否则如果该项目不存在于存储中则返回 null。
如果在读取存储时发生错误,这将解析为 null 而不是抛出异常。
async setItem(key, value)
将一个项目写入存储。返回一个在写入完成时解析的 promise。
如果写入失败 – 最常见的原因是使用了所有可用的存储空间 – promise 将被拒绝。为了确保这不会使游戏崩溃,请确保调用在一个 try…catch 块中。
async removeItem(key)
从存储中删除一个项目。返回一个在删除完成时解析的 promise。
async clear()
从存储中删除所有项目。返回一个在清除完成时解析的 promise。
async keys()
检索存储中所有键的列表。返回一个解析为键名数组的 promise。