资讯专栏INFORMATION COLUMN

手动实现一个compose函数

PascalXie / 1584人阅读

摘要:在中合并的时候有用到这个函数将多个合成一个,那么这个函数该怎么实现呢是传入的函数

在redux中合并reducer的时候有用到compose这个函数将多个reducer合成一个,那么这个compose函数该怎么实现呢?

function compose(...fns) { //fns是传入的函数
  const fn = fns.pop();
  return (...args) => {
    fn(...args);
    if (fns.length > 0) {
      compose(...fns);
    }
  };
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/97316.html

相关文章

  • 【响应式编程的思维艺术】 (3)flatMap背后的代数理论Monad

    摘要:本文是响应式编程第二章序列的深入研究这篇文章的学习笔记。函数科里化的基本应用,也是函数式编程中运算管道构建的基本方法。四资料参考函数式编程指南 本文是Rxjs 响应式编程-第二章:序列的深入研究这篇文章的学习笔记。示例代码托管在:http://www.github.com/dashnowords/blogs 更多博文:《大史住在大前端》目录 showImg(https://segme...

    MorePainMoreGain 评论0 收藏0
  • 手动实现Promise

    摘要:基本原理今天心血来潮,哈哈,就想写个对象,需要说的是,我没有参考谁的代码,也没有去看的源码,当然,我实现的是一个乞丐版的,只有的功能,其中只能抓取一次。设置状态主要作用是确保只能执行其中一个为每个传入的函数包裹错误检查代码 基本原理 今天心血来潮,哈哈,就想写个promise对象,需要说的是,我没有参考谁的代码,也没有去看promise的源码,当然,我实现的是一个乞丐版的promise...

    Lsnsh 评论0 收藏0
  • 实现compose的五种思路

    好久没有更新了,最近学习的过程中一直在用联想的思维来去看问题,javascript是一门非常灵活的语言,集合了好多语言的特性和多种编程模式,对于compose的实现,就有非常多的思路,每一种思路都有自己的特点,实现之后,有种殊途同归的快感。下面就是我总结的实现compose函数的五种思路。 面向过程 函数组合(reduce) 函数交织(AOP编程) Promise(sequence) Gener...

    RayKr 评论0 收藏0
  • koa源码阅读[1]-koa与koa-compose

    摘要:接上次挖的坑,对相关的源码进行分析第一篇。和同为一批人进行开发,与相比,显得非常的迷你。在接收到一个请求后,会拿之前提到的与来创建本次请求所使用的上下文。以及如果没有手动指定,会默认指定为。 接上次挖的坑,对koa2.x相关的源码进行分析 第一篇。 不得不说,koa是一个很轻量、很优雅的http框架,尤其是在2.x以后移除了co的引入,使其代码变得更为清晰。 express和ko...

    vibiu 评论0 收藏0
  • 解读 thinkphp5 源码(一):自动加载

    摘要:索性读一下它的源码。行载入类载入类,这个类比较重要,实现了自动加载。注册错误和异常处理机制加载惯例配置文件接下来我们看一下自动加载的实现方法。所以借助此函数可以达到自动加载。博客链接解读源码一自动加载 听说 TP5 已经 RC4 了,曾经在 RC3 的时候用它写过一个小东西。官方说从 RC4 以后改动不是太大。索性读一下它的源码。然后顺便记录一下,如有错漏,请路过大神多多指正! 入口 ...

    stormzhang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<