看完 Koa 源码我把核心思想应用到了公司项目

本文你可以学到

1.理解koa2 洋葱模型核心源码 compose 函数实现
2.理解函数式编程衍生范式——面向切面编程
3.除了看源码,实战把洋葱模型思想应用到 SDK 项目中

Koa2 源码实现

通过它控制中间件内部内容的执行顺序。先来复习一下中间件结构。

function logger(ctx,next){} 

类似这种的每个函数都是一个中间件。 然后这些中间件会被存放到一个 middlewares 中间件数组中。

然后依赖的核心库是 koa-compose,去完成整个 middlewares 数组中函数的执行,他不是普通的遍历依次执行过程,里面有一些特殊实现,重点关注下 源码中 dispatch 函数实现。

源码如下,对核心代码部分进行了注释讲解

// compose 函数参数是前面提到的 middlewares 中间件数组
function compose(middleware) {// 参数校验:判断middleware是否为数组if (!Array.isArray(middleware))throw new TypeError("Middleware stack must be an array!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值