Middleware interface
Interfaz implementada por middleware basado en objetos.
Métodos
on |
Se llama cada vez que el bot recibe una nueva solicitud. |
Detalles del método
onTurn(TurnContext, () => Promise<void>)
Se llama cada vez que el bot recibe una nueva solicitud.
function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>
Parámetros
- context
- TurnContext
Contexto para el turno actual de conversación con el usuario.
- next
-
() => Promise<void>
Función a la que se llama para continuar la ejecución en el paso siguiente de la cadena de middleware.
Devoluciones
Promise<void>
Comentarios
Llamar a await next();
hará que la ejecución continúe con la siguiente parte del middleware de la cadena o la lógica principal de los bots si es la última parte del middleware.
El middleware debe realizar su lógica de negocios antes o después de la llamada a next()
.
Para cortocircuitar más la ejecución del turno, omita la llamada a next()
.
En el ejemplo siguiente se muestra una parte sencilla del middleware de registro:
class MyLogger {
async onTurn(context, next) {
console.log(`Leading Edge`);
await next();
console.log(`Trailing Edge`);
}
}