【js】动手实现一个简单的中间件

简单介绍一下中间件:

中间件模式(middleware)是一种很常见、也很强大的模式,被广泛应用在 Express、Koa、Redux 等类库和框架当中。如果你能在自己的代码中也使用灵活这种模式能给你的程序带来更大的便利性和灵活性。

简单来说,中间件就是在调用目标函数之前,你可以随意插入其他函数预先对数据进行处理、过滤,在这个过程里面你可以打印数据、或者停止往下执行中间件等。数据就像水流一样经过中间件的层层的处理、过滤,最终到达目标函数。

最近经常活跃在一个Web 前端开发评测OJ网站,上面有这么一个题目:scriptoj.com/problems/52

中间件他是想实现这么个效果:


简易中间件

然后我用两种方法实现了下:

刚开始,我上网查资料,看到有人用指针和递归的思想实现了中间件,于是我思考了下,实现了下面这种办法:


指针和递归实现中间件

可以看到这种办法十分复杂,别说,写完我都不忍直视。。

后来跟高手交流了下,于是第二种更简单实现的方法出来了:


更简单的实现

完美。晚安。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容