举个例子来理解一下Koa的洋葱模型

由外及里,再由里及外。就像在洋葱横着挖了条隧道,我们穿过去,先是最外层,中间是最里层,最后又是最外层。

来看一个代码例子,四个中间件,依次执行,最后输出怎样的结果呢?

const Koa = require('koa');
const app = new Koa();
app.use((ctx, next) => {
    ctx.body = '洋葱模型';
    console.log("   ==   ");
    next();
    console.log("   ==   ");
})
app.use((ctx, next) => {
    console.log("  ====  ");
    next();
    console.log("  ====  ");
})
app.use((ctx, next) => {
    console.log(" ====== ");
    next();
    console.log(" ====== ");
})
app.use((ctx, next) => {
    console.log("========");
    next();
    console.log("========");
})
app.listen(3000);
console.log('server is running!');

输出结果如下:

在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页