Compartir a través de


Middleware interface

Interfaz implementada por middleware basado en objetos.

Métodos

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

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