共用方式為


MiddlewareSet class

一組 Middleware 外掛程式。

備註

集合本身是中間件,因此您可以輕鬆地封裝一組中間件,這些中間件可以組合成具有單一 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`);
});

建構函式

MiddlewareSet((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

建立新的中間件集實例。

方法

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

處理傳入活動。

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

以數位方式執行一組中間件。

use((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

向集合註冊中間件處理程式。。

建構函式詳細資料

MiddlewareSet((context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

建立新的中間件集實例。

new MiddlewareSet(middlewares: (context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[])

參數

middlewares

(context: TurnContext, next: () => Promise<void>) => Promise<void> | Middleware[]

要註冊的一或多個中間件處理程式。

方法詳細資料

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

處理傳入活動。

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

參數

context
TurnContext

(xref:botbuilder-core.這個回合的 TurnContext) 物件。

next

() => Promise<void>

委派以繼續 Bot 中間件管線。

傳回

Promise<void>

代表異步作業的 Promise。

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

以數位方式執行一組中間件。

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

參數

context
TurnContext

目前與使用者交談回合的內容。

next

() => Promise<void>

在中間件鏈結結尾叫用的函式。

傳回

Promise<void>

在處理程式鏈結完成之後解析的承諾。

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[]

要註冊的一或多個中間件處理程式。

傳回

this

更新的中間件集。

備註

本範例會將新的中間件新增至集合:

set.use(async (context, next) => {
   console.log(`Leading Edge`);
   await next();
   console.log(`Trailing Edge`);
});