다음을 통해 공유


Middleware interface

개체 기반 미들웨어에 의해 구현되는 인터페이스입니다.

메서드

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

봇이 새 요청을 받을 때마다 호출됩니다.

메서드 세부 정보

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

봇이 새 요청을 받을 때마다 호출됩니다.

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

매개 변수

context
TurnContext

사용자와의 현재 대화 전환에 대한 컨텍스트입니다.

next

() => Promise<void>

미들웨어 체인의 다음 단계로 실행을 계속하기 위해 호출하는 함수입니다.

반환

Promise<void>

설명

await next(); 호출하면 마지막 미들웨어인 경우 체인의 다음 미들웨어 또는 봇 주 논리 중 하나를 계속 실행하게 됩니다.

미들웨어는 next()호출 전후에 비즈니스 논리를 수행해야 합니다. next()호출을 생략하여 턴의 추가 실행을 단락할 수 있습니다.

다음 예제에서는 간단한 로깅 미들웨어 부분을 보여 줍니다.

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