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