const fn1 = x => x + 3const fn2 = x => x * 2const fn3 = y => y / 5function compose(resolveLoaders) {if (resolveLoaders.length === 0) return x => xif (resolveLoaders.length === 1) return x => resolveLoaders[0](x)// 实现方案1return resolveLoaders.reduce((pre, cur) => {return content => pre(cur(content))})// 实现方案2// return resolveLoaders.reduce((a, b) => (...args) => a(b(...args)))}
- componse函数意思就是一个函数的返回值是另一个函数的参数,如此反复
- 以上两种方式都是实现方式,其实方案2是redux实现方案,个人觉得代码很精简,值得学习
