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 llamará para continuar la ejecución en el paso siguiente de la cadena de middleware.
Devoluciones
Promise<void>
Comentarios
Llamar await next();
a 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()
.
Puede realizar más cortocircuito la ejecución del turno si omite la llamada a next()
.
En el ejemplo siguiente se muestra un fragmento sencillo de middleware de registro:
class MyLogger {
async onTurn(context, next) {
console.log(`Leading Edge`);
await next();
console.log(`Trailing Edge`);
}
}