今天做express的时候用到了中间件函数。至于它的概念和使用技巧,我们就不提了。我只对这个中间件函数内部的结构感兴趣。那么今天就和大家聊一聊这个中间件功能的原理。在使用中间件函数的时候,有两个地方需要注意:一个是app.use()添加一个中间件函数,另一个是回调函数中next()的唯一标志,意思是verySimpleis代表下一个中间件函数执行。思路分析使用之后,我们可以大致理解到,里面有一个东西是存放中间件函数的,这就是一个数组。所以我们简单的实现这个过程。在express中,中间件功能是通过callback回调函数来执行的。这里我们简单模拟一个compose函数,实现所有中间件函数的调用。fnmiddle()的执行是调用compose的返回函数,处理middleware数组中的所有函数。在这个返回函数中,我们使用递归来实现这个过程。这样一个中间件功能的大致原理就出来了,整体理解也比较简单,但是web中的中间件思想覆盖面还是很广的,能不能列举一下,写个大概的思路?
