koa 05 中介軟體的執行流程

2022-06-25 10:36:13 字數 1570 閱讀 2513

/*

koa 的中介軟體,無論寫在前面還是後面,都會先執行中介軟體的**, */

/*koa 路由 get 傳值

在 koa2 中 get 傳值通過request接收,但是接收的方法有兩種: query 和 querystring

query : 返回的是格式化好的引數物件

querystring : 返回的是請求字串 */

//引入模組

const koa = require("koa");

const router = require("koa-router")(); //

引入和例項化路由

//例項化

koa();

//koa 中介軟體

/*以下中介軟體中,有兩個引數,路由位址和函式 ,沒有路由只寫函式的話,表示 匹配任何路由 ;

如果沒有 next ,路由終止, 引數且執行next()函式,則無法向下繼續執行;

如果不寫 next , 這個路由被匹配到了之後就不會繼續向下匹配。

*///

date()); //返回當前日期時間 2021-01-21t16:31:36.278z

//});

console.log("中介軟體a:第一步a1執行");

await next();

console.log("中介軟體a:倒數第一步a2執行");

});//

配置路由,ctx (上下萬 context) 整合了 response 和 reject

router

.get("/", async (ctx) =>)

.get("/news", async (ctx, next) =>)

.get("/news", async (ctx) =>);

//也可以如下寫法

router.get("/newscontent", async (ctx) =>);

///*

koa 的中介軟體,無論寫在路由前面還是後面,都會先執行中介軟體的**,

相比 express, express 是匹配到相應的路由後就不繼續向下匹配了。 */

console.log("中介軟體b:第二步b1執行");

await next();

console.log("中介軟體b:倒數第二步b2執行");

});/*

//作用:啟動路由

//我們可以看到 router.allowedmethods() 用在了路由匹配 router.routes() 之後,

//所以在當所有路由中介軟體最後呼叫,此時根據 ctx.status 設定 response 響應頭

/*訪問 http://localhost:3002/news 的時候,執行順序如下:

中介軟體a:第一步a1執行

中介軟體b:第二步b1執行

這是路由中介軟體1

所有中介軟體順著執行完後,執行路由裡邊的**,路由執行完成,再倒回去執行中介軟體的。

頁面2中介軟體b:倒數第二步b2執行

中介軟體a:倒數第一步a2執行

*/

koa2 mysql 中介軟體 Koa2 中介軟體

1.什麼是koa2中介軟體?二 常用的五個中介軟體 1.koa 面向node.js的表示式http中介軟體框架,使web應用程式和api更加令人愉快地編寫。koa的中介軟體堆疊以類似堆疊的方式流動,允許您執行下游操作,然後過濾和處理上游的響應。ctx.body hello world 2.koa r...

Koa(二) 中介軟體

const koa require koa router require koa router newkoa 應用級中介軟體 匹配路由之前操作 路由級中介軟體 路由以後繼續向下匹配路由 錯誤處理中介軟體 遇到 next 在執行 router.get 沒有找到路由位址 在執行 if ctx.statu...

Koa 中介軟體的執行順序

const koa require koa koa console.log 1 await next 呼叫下乙個middleware console.log 5 console.log 2 await next 呼叫下乙個middleware console.log 4 console.log 3 ...