AutoSaveStateMiddleware class

将在轮次结束时自动保存任何状态更改的中间件。

注解

在任何其他使用状态的组件之前,应将 AutoSaveStateMiddleware 类添加到机器人中间件堆栈的顶部。 传递给构造函数的任何 BotState 插件都将在成功完成轮次后调用其 BotState.saveChanges() 方法。

此示例演示用于在机器人中读取和写入聊天和用户状态的样本代码:

const { AutoSaveStateMiddleware, ConversationState, UserState, MemoryStorage } = require('botbuilder');

const storage = new MemoryStorage();
const conversationState = new ConversationState(storage);
const userState = new UserState(storage);
adapter.use(new AutoSaveStateMiddleware(conversationState, userState));

server.post('/api/messages', (req, res) => {
   adapter.processActivity(req, res, async (turnContext) => {
      // Get state
      const convo = await conversationState.load(turnContext);
      const user = await userState.load(turnContext);

      // ... route activity ...
      // ...make changes to state objects...
      // ... no need to call userState.saveChanges() or conversationState.saveChanges() anymore!
   });
});

构造函数

AutoSaveStateMiddleware(BotState[])

创建新的 AutoSaveStateMiddleware 实例。

属性

botStateSet

自动保存 BotState 插件集。

方法

add(BotState[])

添加要保存的其他 BotState 插件。

onTurn(TurnContext, () => Promise<void>)

适配器(例如,运行时 BotFrameworkAdapter)调用,以处理入站 活动

构造函数详细信息

AutoSaveStateMiddleware(BotState[])

创建新的 AutoSaveStateMiddleware 实例。

new AutoSaveStateMiddleware(botStates: BotState[])

参数

botStates

BotState[]

一个或多个 BotState 插件在轮次结束时自动保存。

属性详细信息

botStateSet

自动保存 BotState 插件集。

botStateSet: BotStateSet

属性值

方法详细信息

add(BotState[])

添加要保存的其他 BotState 插件。

function add(botStates: BotState[]): this

参数

botStates

BotState[]

要添加的一个或多个 BotState 插件。

返回

this

更新的 BotStateSet 对象。

onTurn(TurnContext, () => Promise<void>)

适配器(例如,运行时 BotFrameworkAdapter)调用,以处理入站 活动

function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>

参数

context
TurnContext

此轮次的上下文对象。

next

() => Promise<void>

下一个委托函数。

返回

Promise<void>