Compartilhar via


Middleware interface

Interface implementada pelo middleware baseado em objeto.

Métodos

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

Chamado sempre que o bot recebe uma nova solicitação.

Detalhes do método

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

Chamado sempre que o bot recebe uma nova solicitação.

function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>

Parâmetros

context
TurnContext

Contexto para a virada atual da conversa com o usuário.

next

() => Promise<void>

Função a ser chamada para continuar a execução para a próxima etapa na cadeia de middleware.

Retornos

Promise<void>

Comentários

Chamar await next(); fará com que a execução continue na próxima parte do middleware na cadeia ou na lógica principal dos bots se você for a última parte do middleware.

Seu middleware deve executar sua lógica de negócios antes e/ou depois da chamada para next(). Você pode fazer um curto-circuito da execução da curva omitindo a chamada para next().

O exemplo a seguir mostra uma parte simples do middleware de registro em log:

class MyLogger {
    async onTurn(context, next) {
        console.log(`Leading Edge`);
        await next();
        console.log(`Trailing Edge`);
    }
}