接口: Datastore
datastore.Datastore
本地存储对象,用createDatastore方法创建。
目录
方法
方法
clear
▸ clear(): Promise
<void
>
异步删除当前本地存储以及它的全部数据。此过程是异步的,返回一个Promise
,当Promise resolve时表示操作完成。
返回值
Promise
<void
>
clearSync
▸ clearSync(): void
同步删除当前本地存储以及它的全部数据。大多数情况下不需要使用同步方法,使用异步的clear方法即可,尤其是在UI线程中。
返回值
void
contains
▸ contains(key
): Promise
<boolean
>
判断该本地存储是否包含键值为key的数据并返回Promise,若包含是则该Promise的值为true
,否则为false
。
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 键值 |
返回值
Promise
<boolean
>
是否包含该键值的Promise
containsSync
▸ containsSync(key
): boolean
判断该本地存储是否包含键值为key的数据,若包含是则true
,否则为false
。
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 键值 |
返回值
boolean
是否包含该键值
edit
▸ edit(block
): Promise
<void
>
批量编辑数据。
示例
const { createDatastore } = require('datastore');
// 创建本地存储,其名称为example.test
const datastore = createDatastore('example.test');
async function main() {
// 批量写入多个值,相比依次写入效率更高
await datastore.edit(editor => {
editor.set('boolKey', true)
.set('arrayKey', [1, '2', false])
.remove('versions');
});
}
main().catch(console.error);
参数
名称 | 类型 |
---|---|
block | (editor : DatastoreEditor ) => void |
返回值
Promise
<void
>
editSync
▸ editSync(block
): void
同步批量编辑数据。
参数
名称 | 类型 |
---|---|
block | (editor : DatastoreEditor ) => void |
返回值
void
get
▸ get<T
>(key
): Promise
<undefined
| T
>
从本地存储中异步获取键值为key的数据并返回Promise。
如果该存储中不包含该数据,这时若指定了默认值参数则返回默认值,否则返回undefined。
类型参数
名称 |
---|
T |
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 键值 |
返回值
Promise
<undefined
| T
>
getSync
▸ getSync<T
>(key
): undefined
| T
从本地存储中同步获取键值为key的数据并返回。大多数情况下不需要使用同步方法,使用异步的get方法即可,尤其是在UI线程中。
类型参数
名称 |
---|
T |
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 键值 |
返回值
undefined
| T
remove
▸ remove<T
>(key
): Promise
<undefined
| T
>
异步移除键值为key的数据,并返回被移除的值的Promise。
类型参数
名称 |
---|
T |
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 要移除的值的键 |
返回值
Promise
<undefined
| T
>
被移除的值的Promise,若本身key没有对应的数据,则会得到undefined
(的Promise)。
removeSync
▸ removeSync<T
>(key
): undefined
| T
同步移除键值为key的数据,并返回移除的值。大多数情况下不需要使用同步方法,使用异步的remove方法即可,尤其是在UI线程中。
类型参数
名称 |
---|
T |
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 要移除的值的键 |
返回值
undefined
| T
被移除的值,若本身key没有对应的数据,则返回undefined
。
set
▸ set<T
>(key
, value
): Promise
<void
>
把键值对key和value保存到本地存储中。此过程是异步的,返回一个Promise
,当Promise resolve时表示操作完成。
存储的过程实际上是使用JSON.stringify()
把value转换为字符串再保存,因此value必须是可JSON化的才能被接受。
类型参数
名称 |
---|
T |
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 键值 |
value | T | 值 |
返回值
Promise
<void
>
setSync
▸ setSync<T
>(key
, value
): void
把键值对key和value同步保存到本地存储中。大多数情况下不需要使用同步方法,使用异步的set方法即可,尤其是在UI线程中。
存储的过程实际上是使用JSON.stringify()
把value转换为字符串再保存,因此value必须是可JSON化的才能被接受。
类型参数
名称 |
---|
T |
参数
名称 | 类型 | 描述 |
---|---|---|
key | string | 键值 |
value | T | 值 |
返回值
void