koa-componse源码解析

11/1/2021 Koa

# 前言

作为 koa 框架中间件运行机制实现的核心逻辑,koa-componse实现确实让人有些着迷,下面我们通过例子,来进一步深入koa-componse 是如何实现的。

# 举个栗子

const Koa = require('koa');
const app = new Koa();
app.use(async (ctx, next) => {
    // console.log(this.url);
    console.log('第一个中间件函数');
    await next();
    console.log('第一个中间件函数next之后!');
})
app.use(async (ctx, next) => {
    console.log('第二个中间件函数')
    await next();
    console.log('第二个中间件函数next之后!');
})

app.use(async ctx => {
    ctx.body = 'Hello World';
});
app.listen(3000);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

上面的代码执行结果如下:

// 第一个中间件函数
// 第二个中间件函数
// 第一个中间件函数next之后!
// 第二个中间件函数next之后!
1
2
3
4
上次更新: 2/18/2025, 2:29:21 PM