标签:function compose return 函数 pips args 调用 num
函数式编程后执行的一些问题
值得传递写起来不方便
我们如果要连续的执行一系列函数,并且传递计算某个值,会写起来很难受
连续调用写起来很麻烦
连续调用一系列函数,写起来很麻烦
Compose
Compose函数可以理解为为了方便我们连续执行方法,把自己调用传值得过程封装了起来我们只需要给compose函数我们要执行哪些方法,他会自动得执行
代码示例
function addOne(num){
return num+=1;
}
function addTwo(num){
return num+=2;
}
function addThree(num){
return num+=3;
}
function compose(a,b){
//arguments 获取所有参数
const args=[].slice.apply(arguments);
return function(){
/* for(var i=args.length-1;i>=0;i--){
_result=args[i](_result)
}
return _result; */
//原生方法
return args.reduceRight((res,cb)=>cb(res))
}
}
//调用
compose(addOne,addTwo,addThree)(10)
链式调用
我们也可以用promise来组织成一个链式调用,但是注意。这和面向对象的链式调用有区别
Promise.resolve(10).then(addOne).then(addTwo).then(addThree)
标签:function,compose,return,函数,pips,args,调用,num 来源: https://www.cnblogs.com/Liguangyang/p/16492548.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。