koa2的思想就是把一个个用于处理用户请求的中间件串联起来,并支持异步中间件。下面是一个使用koa2的简单示例
const Koa = require('koa')
const app = new Koa()
app.use(async (ctx, next) => {
console.log('a1')
await next()
console.log('a2')
})
app.use(async (ctx, next) => {
console.log('b1')
await next()
console.log('b2')
})
app.use(async ctx => {
console.log('c1')
})
app.listen(8100);
打开浏览器访问8100端口,最终的输出结果为:
从结果可以看出,koa2执行中间件的顺是:先一层层的执行异步中间件,执行到最后一个中间件时,在一层层返回。
上述示例中的async、await是执行异步组件的语法糖,如果读者不熟悉,可以去看下阮一峰老师的文章async函数。
下面让我们来开始对Koa2进行简单的实现。
首先因为使用koa时是用new Koa()的方式,所以Ko