Express 中间件原理,就这?

开发 前端
在使用中间件函数的时候,有两个地方我们需要注意:一个是 app.use() 添加一个中间件函数,一个是回调函数中的 next() 这种特有的标志,它的意思很简单就是代表下一个中间件函数执行。

[[394897]]

今天在搞 express 的时候,用到了中间件函数。至于它的概念和使用技巧,我们就不提了。我只是对这个中间件函数内部的结构很感兴趣。所以今天就和大家一起聊聊这个中间件函数的原理。

使用技巧

在使用中间件函数的时候,有两个地方我们需要注意:一个是 app.use() 添加一个中间件函数,一个是回调函数中的 next() 这种特有的标志,它的意思很简单就是代表下一个中间件函数执行。

思路分析

通过使用之后,我们大致能明白,内部有个存放中间件函数的东西,并且这是个数组。所以我们就简单实现一下这个过程。

在 express 中都是通过 callback 回调函数去执行中间件函数,我们这里就简单模拟一个 compose 函数,实现所有中间件函数的调用。

fnmiddle() 执行就是调用 compose 的返回函数,它里面要对 middleware 数组中的所有函数处理,在这个返回函数内,我们使用递归的方式来实现一下这个流程。

这样一个中间件函数的大致原理就出来了,整体理解起来还是比较简单的,不过中间件思想在 web 的覆盖范围还是很广的,你能列举出来并写出大致的思路吗.

 

责任编辑:姜华 来源: 勾勾的前端世界
相关推荐

2020-11-06 09:24:09

node

2021-08-10 14:10:02

Nodejs后端开发

2011-05-24 15:10:48

2021-02-11 08:21:02

中间件开发CRUD

2018-07-29 12:27:30

云中间件云计算API

2018-02-01 10:19:22

中间件服务器系统

2016-11-11 21:00:46

中间件

2021-07-19 07:55:24

Redux中间件原理

2012-11-30 10:21:46

移动中间件

2009-06-16 15:55:06

JBoss企业中间件

2023-10-24 07:50:18

消息中间件MQ

2023-06-29 10:10:06

Rocket MQ消息中间件

2012-11-01 15:16:22

金蝶中间件研究院院长

2021-06-15 10:01:02

应用系统软件

2011-10-24 07:41:38

SOA中间件应用服务器

2018-05-08 16:33:31

中间件RPC企业

2018-05-02 16:23:24

中间件RPC容器

2022-11-02 10:08:46

分布式高并发消息中间件

2013-03-13 10:37:22

中间件Windows

2019-09-29 11:04:22

MySQL数据库Atlas
点赞
收藏

51CTO技术栈公众号