接口: Datastore


接口: 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