StatePropertyAccessor interface

定义用于访问在 BotState 对象中创建的状态属性的方法。

注解

若要在状态管理 objet 中创建状态属性,请使用 createProperty<T> 方法。

方法

delete(TurnContext)

从其后盾存储对象中删除持久化属性。

get(TurnContext)

从其后盾存储对象中读取持久属性。

get(TurnContext, T)
set(TurnContext, T)

为支持存储对象的属性分配新值。

方法详细信息

delete(TurnContext)

从其后盾存储对象中删除持久化属性。

function delete(context: TurnContext): Promise<void>

参数

context
TurnContext

与用户的当前会话轮次的上下文。

返回

Promise<void>

注解

在首次访问时,应将支持存储对象的属性加载到内存中。

await myProperty.delete(context);

get(TurnContext)

从其后盾存储对象中读取持久属性。

function get(context: TurnContext): Promise<T | undefined>

参数

context
TurnContext

与用户的当前会话轮次的上下文。

返回

Promise<T | undefined>

注解

在首次访问时,应将支持存储对象的属性加载到内存中。

如果存储对象上当前不存在该属性并且指定了 defaultValue,则应将 defaultValue 的克隆复制到存储对象。 如果未指定 defaultValue,则应返回 undefined 值。

const value = await myProperty.get(context, { count: 0 });

get(TurnContext, T)

function get(context: TurnContext, defaultValue: T): Promise<T>

参数

context
TurnContext
defaultValue

T

返回

Promise<T>

set(TurnContext, T)

为支持存储对象的属性分配新值。

function set(context: TurnContext, value: T): Promise<void>

参数

context
TurnContext

与用户的当前会话轮次的上下文。

value

T

要分配的值。

返回

Promise<void>

注解

在首次访问时,应将支持存储对象的属性加载到内存中。

根据状态系统实现的不同,可能需要执行额外的步骤才能将实际更改保存到磁盘。

await myProperty.set(context, value);