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 已指定 ,则会将 SHOULD 的 defaultValue 克隆复制到存储对象。 如果未指定 , defaultValue 则返回值 undefined SHOULD。

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);