更新時間:2023-03-09 來源:黑馬程序員 瀏覽量:
KOA2基于 Node.js 平臺的Web服務(wù)器框架, 由 Express 原班人馬打造的一個后端服務(wù)器。 Express Koa , Koa2 都是 Web 服務(wù)器的框架,他們之間的差別和關(guān)系可以通過下面這個表格表示出。
KOA2環(huán)境依賴 Node v7.6.0 及以上由于 Koa2 它是支持 async 和 await ,所以它對 Node 的版本是有要求的,它要求 Node 的版本至少是在7.6級以上,因為語法糖 async和await 是在 Node7.6 版本之后出現(xiàn)才支持。
KOA2是洋蔥模型的中間件,如下圖所示, 對于服務(wù)器而言,它其實就是來處理一個又一個的請求, Web 服務(wù)器接收由瀏覽器發(fā)過來的一個又一個請求之后,它形成一個又一個的響應(yīng)返回給瀏覽器. 而請求到達我們的服務(wù)器是需要經(jīng)過程序處理的,程序處理完之后才會形成響應(yīng),返回給瀏覽器,我們服務(wù)器處理請求的這一塊程序,在 Koa2 的世界當中就把它稱之為中間件。
這種中間件可能還不僅僅只有一個,可能會存在多個,比如上圖所示, 它就存在三層中間件,這三層中間件在處理請求的過程以及它調(diào)用的順序為:
當一個請求到達咱們的服務(wù)器,最先最先處理這個請求的是第一層中間件
第一層的中間件在處理這個請求之后,它會把這個請求給第二層的中間件
第二層的中間件在處理這個請求之后,它會把這個請求給第三層的中間件
第三層中間件內(nèi)部并沒有中間件了, 所以第三層中間件在處理完所有的代碼之后,這個請求又會到了第二層的中間件,所以第二層中間件對這個請求經(jīng)過了兩次的處處理第二層的中間件在處理完這個請求之后,又到了第一層的中間件, 所以第一層的中間件也對這個請求經(jīng)過了兩次的處理。
這個調(diào)用順序就是洋蔥模型, 中間件對請求的處理有一種先進后出的感覺,請求最先到達第一層中間件,而最后也是第一層中間件對請求再次處理了一下。
【AI設(shè)計】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運營】深圳跨境電商運營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達13500元
2025-09-19【AI運維】鄭州運維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19【AI大模型開發(fā)-Python】畢業(yè)33個工作日,就業(yè)率已達到94.55%,班均薪資20763元
2025-09-19【AI智能應(yīng)用開發(fā)-Java】畢業(yè)當天offer率91%,薪資1W+占比54.2%,班級均薪12k+
2025-09-19