作用:函数组合调试是未来在使用函数组合说debug异常或者错误,如果去检测错误发生在哪个位置

    1. /**
    2. * 函数组合 调试
    3. * NEVE GO BACK => neve-go-back
    4. */
    5. const _ = require('lodash');
    6. // 使用柯里化函数将二元函数 转化成 一元函数
    7. const split = _.curry((sep, str) => _.split(str, sep));
    8. // console.log(split(' ')('NEVE GO BACK')) // [ 'NEVE', 'GO', 'BACK' ]
    9. // _.toLower()
    10. // 使用柯里化函数将二元函数 转化成 一元函数
    11. const join = _.curry((sep, array) => _.join(array, sep));
    12. // log 调试函数
    13. const log = _.curry((tag, values)=> {
    14. console.log(tag);
    15. return values;
    16. })
    17. const map = _.curry((func, array) => _.map(array, func));
    18. const fn = _.flowRight(join('-'), log('map后'), map(_.toLower), log('split后'), split(' '));
    19. console.log(fn('NEVE GO BACK'));