美文网首页
koa2中间件原理及作用

koa2中间件原理及作用

作者: Yubble | 来源:发表于2020-03-21 23:28 被阅读0次

        先跟大家哭一嗓子,自打承担了我司某部门前端负责人,早已不知休息为何物,本来给自己制定的学习计划也都搁浅了,但是,也算是有收获吧,舔人比以前利索多了。

        今天要给各位爷台做的学习汇报是koa2中间件,其实中间件这个概念我之前一直没有很明确的理解,中间件、中间、middleware~是不是就是这样...

        罗伊斯·奥尼尔想要问队友卢比奥今晚咱们那啥不,但是登哥生塞了进来,于是奥尼尔没办法,只能求登哥传话给卢比奥,最后罗伊斯成功的约到了卢比奥,但是登哥这个大嘴巴让火箭队更衣室的全都知道了。😅(纯属调侃,切勿认真)

        所以,中间件的作用就是,在你上下两个事件通讯的过程中强行塞入一个事件,这个事件可以起到承上启下的作用,并在运行应用的时候做一些只关于部分模块化功能。

                                                                                                        ——某滴高级装逼工程师

        中间件其实并不是koa2的发明,在express中就已经存在了,只不过koa2站在了es7巨人的肩膀上,使用async await让中间件形成了一个饱满的洋葱型。

        在下第一次看洋葱模型的时候好奇,woca这是个什么鬼。拧着眉毛嚎叫了一会儿之后,发现好像看明白了一丢丢,大意就是koa2的中间件可以有好几层吧,在每一次请求与响应的时候,都可以在中间拦截,做登录态管理、状态码管理、错误处理...总之每个中间件都可以做一次拦截来搞事情。嗯!


        下面让我们接触一下亲切的代码吧~

        这是在下自己写的一个中间件的demo:

        输出结果为:

                                        中间件1开始↓

                                        中间件2开始↓

                                        this is end

                                        中间件2结束↓

                                        中间件1结束🔚

        咱们只要接触过一点中间件的概念就一定知道,它的执行规则是由外向内,再由内向外,请参考上文洋葱模型的味道~


        这种功能呢我们是怎么实现的呢,贴下代码您就会发现我靠,真特么简单。PS: 可能本来就不复杂,是在下想的过分了🤣

        首先新建一个类,在实例化的时候新建了一个中间件数组

        写一个use方法,用来收集这些中间件方法push到数组里(其实在js的数据结构中这个叫做队列)

        写一个listen方法,供用户调用,启动node服务器

启动node服务器并且将上下文中的body体返回给浏览器

        listen方法中分别出现了createContext和compose两个方法,createContext负责创建上下文,而compose则将这些中间件和上下文组合起来

返回一个包含req和res的上下文对象 这段就比较厉害了,之所以要用函数柯里化,还是想要实现延时执行,等到middleware全都收集到了,再统一给定ctx参数,上文中执行await fn(ctx)的时候,所有的middleware函数就都被临幸到了,客官您可以自行coding一番

        以上就是这次分享的全部内容,其实这篇博文早就开始计划写了,但是自从来到了支付部门我就成为了支付前端客服1号,生生拉扯了我大部分精力。不过也让我知道了技术建设的重要性,很多重复性的,没有营养的工作我计划今年都把它用技术搞成自动化工程。

        聊点别的吧,现在疫情这么严重,各个公司优化也都在进行着,最近了解到我之前博文提到的小姑娘也找到工作了,而且这次疫情也没能将她淘汰掉,深感欣慰。之前她找工作备受打击我还怕她一蹶不振回老家去了,所以一直也不敢主动问了,哈哈,其实人生还是充满希望的。

相关文章

  • koa2中间件原理及作用

    先跟大家哭一嗓子,自打承担了我司某部门前端负责人,早已不知休息为何物,本来给自己制定的学习计划也都搁浅了,...

  • iKcamp团队制作|基于Koa2搭建Node.js实战(含视频

    中间件用法——讲解 Koa2 中间件的用法及如何开发中间件 ?? iKcamp 制作团队 原创作者:大哼、阿干、...

  • 2018 各大公司最近面试题

    阿里 使用过的koa2中间件 koa-body原理 介绍自己写过的中间件 有没有涉及到Cluster 介绍pm2 ...

  • 面试题

    阿里 使用过的koa2中间件 koa-body原理 介绍自己写过的中间件 有没有涉及到Cluster 介绍pm2 ...

  • 2018大厂高级前端面试题汇总

    阿里 使用过的koa2中间件 koa-body原理 介绍自己写过的中间件 有没有涉及到Cluster 介绍pm2 ...

  • Koa2教程(初识篇)

    目录一、定义二、安装三、koa中间件 系列教程Koa2教程(入门篇)Koa2教程(常用中间件篇) 一、定义 一个简...

  • koa2中间件原理

    koa2中间件的执行 koa2中间件的执行就像洋葱圈一样,从外面到最里面,再从最里面到最外面。 执行上述代码的结果...

  • 知识点总结

    Koa2中间件 koa(面向node.js的表达式HTTP中间件框架)、koa-router(路由中间件)、koa...

  • “生活用电”学习指导

    一、本章知识点 家庭电路的组成、测电笔的作用及使用、保险丝的作用及原理、三线插头及接地、漏电保护器的作用及原理、电...

  • koa学习笔记

    一、中间件1、中间件的执行流程 以上是koa1的写法,koa2的写法有些不同,function * 写成 asyn...

网友评论

      本文标题:koa2中间件原理及作用

      本文链接:https://www.haomeiwen.com/subject/czvosctx.html