到底应该如何理解洋葱模型?

来源:6-1 中间件,绕不开的洋葱圈模型【实现日志中间件httpLog】

Allen_Liu986

2021-02-16

到底应该如何理解洋葱模型?视频中说的是从que框架上封装来的?

写回答

1回答

夏小宅

2021-02-16

Egg.js是基于koa2的二次封装,洋葱模式自然也是和koa差不多。简单说,就是从第一个中间件开始,最后从第一个中间件结束,就像针穿过洋葱一样,从最外层进去,然后从最外层出来一样。

写个伪代码:

// middleware one
app.use(async (ctx, next) => {
    console.log("中间件一开始");
    await next() // 调用下一个中间件
    console.log("中间件一结束");})
// middleware two
app.use(async (ctx, next) => {
    const startTime = new Date().getTime()
    console.log("中间件二开始");
    await next() // 处理下一个中间件
    console.log("中间件二结束");})

打印的结果:

中间件一开始
中间件二开始

中间件二结束

中间件一结束

1
1
Allen_Liu986
非常感谢!
2021-02-17
共1条回复

React+React Hook+Egg造轮子 全栈开发旅游电商应用

造好轮子+前后端复杂业务处理,解锁前端高手必备技能。

479 学习 · 137 问题

查看课程