存储接口

282次阅读
没有评论

共计 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。

正文完
 0
评论(没有评论)