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