MiddlewareSet class
プラグインの Middleware
セット。
注釈
セット自体はミドルウェアであるため、1 回 adapter.use(mySet)
の呼び出しでアダプターに構成したり、 を使用して set.use(mySet)
別のミドルウェア セットに構成したりできるミドルウェアのセットを簡単にパッケージ化できます。
const { MiddlewareSet } = require('botbuilder');
const set = new MiddlewareSet();
set.use(async (context, next) => {
console.log(`Leading Edge`);
await next();
console.log(`Trailing Edge`);
});
コンストラクター
Middleware |
新しい MiddlewareSet インスタンスを作成します。 |
メソッド
on |
受信アクティビティを処理します。 |
run(Turn |
一連のミドルウェアを連続して実行します。 |
use((context: Turn |
ミドルウェア ハンドラーを セットに登録します。 |
コンストラクターの詳細
MiddlewareSet((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
新しい MiddlewareSet インスタンスを作成します。
new MiddlewareSet(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
パラメーター
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
登録する 1 つ以上のミドルウェア ハンドラー。
メソッドの詳細
onTurn(TurnContext, () => Promise<void>)
受信アクティビティを処理します。
function onTurn(context: TurnContext, next: () => Promise<void>): Promise<void>
パラメーター
- context
- TurnContext
(xref:botbuilder-core。このターンの TurnContext) オブジェクト。
- next
-
() => Promise<void>
をデリゲートして呼び出し、ボット ミドルウェア パイプラインを続行します。
戻り値
Promise<void>
非同期操作を表す Promise。
run(TurnContext, () => Promise<void>)
一連のミドルウェアを連続して実行します。
function run(context: TurnContext, next: () => Promise<void>): Promise<void>
パラメーター
- context
- TurnContext
ユーザーとの会話の現在のターンのコンテキスト。
- next
-
() => Promise<void>
ミドルウェア チェーンの末尾で呼び出す関数。
戻り値
Promise<void>
ハンドラー チェーンが完了した後に解決される promise。
use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])
ミドルウェア ハンドラーを セットに登録します。
function use(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]): this
パラメーター
- middlewares
-
(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]
登録する 1 つ以上のミドルウェア ハンドラー。
戻り値
this
更新されたミドルウェア セット。
注釈
次の例では、新しいミドルウェアをセットに追加します。
set.use(async (context, next) => {
console.log(`Leading Edge`);
await next();
console.log(`Trailing Edge`);
});