Middleware interface
接口由基于对象的中间件实现。
方法
on |
每次机器人收到新请求时调用。 |
方法详细信息
onTurn(TurnContext, () => Promise<void>)
每次机器人收到新请求时调用。
function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>
参数
- context
- TurnContext
与用户的当前会话轮次的上下文。
- next
-
() => Promise<void>
要调用的函数以继续执行中间件链中的下一步。
返回
Promise<void>
注解
调用 await next();
将导致执行继续执行链中的下一个中间件或机器人主逻辑(如果你是最后一个中间件)。
中间件应在调用 next()
之前和/或之后执行其业务逻辑。
可以通过省略调用 next()
来缩短轮次的进一步执行。
以下示例演示了一个简单的日志记录中间件:
class MyLogger {
async onTurn(context, next) {
console.log(`Leading Edge`);
await next();
console.log(`Trailing Edge`);
}
}