Middleware interface

Interfaccia implementata dal middleware basato su oggetti.

Metodi

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

Chiamato ogni volta che il bot riceve una nuova richiesta.

Dettagli metodo

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

Chiamato ogni volta che il bot riceve una nuova richiesta.

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

Parametri

context
TurnContext

Contesto per il turno corrente della conversazione con l'utente.

next

() => Promise<void>

Funzione da chiamare per continuare l'esecuzione al passaggio successivo nella catena middleware.

Restituisce

Promise<void>

Commenti

Se si chiama await next();, l'esecuzione continuerà a passare alla parte successiva del middleware nella catena o alla logica principale dei bot se si è l'ultimo componente del middleware.

Il middleware deve eseguire la logica di business prima e/o dopo la chiamata a next(). È possibile eseguire ulteriormente il corto circuito del turno omettendo la chiamata a next().

L'esempio seguente illustra un semplice middleware di registrazione:

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