1. 語法區別
experss 異步使用 回調
koa1 異步使用 generator + yeild
koa2 異步使用 await/async
2. 中間件區別
koa采用洋蔥模型,進行順序執行,出去反向執行,支持context傳遞數據
express本身無洋蔥模型,需要引入插件,不支持context
express的中間件中執行異步函數,執行順序不會按照洋蔥模型,異步的執行結果有可能被放到最后,response之前。
這是由於,其中間件執行機制,遞歸回調中沒有等待中間件中的異步函數執行完畢,就是沒有await中間件異步函數
3. 集成度區別
express 內置了很多中間件,集成度高,使用省心,
koa 輕量簡潔,容易定制