SOURCE

//  实现一个compose 函数
// 特点:
// compose的参数是函数,返回的也是一个函数
// 因为除了第一个函数的接受参数,其他函数的接受参数都是上一个函数的返回值,所以初始函数的参数是多元的,而其他函数的接受值是一元的
// compsoe函数可以接受任意的参数,所有的参数都是函数,且执行方向是自右向左的,初始函数一定放到参数的最右面

// let compose = function(...args) {
//     let len = args.length;
//     // console.log(len);
//     let count = len - 1;
//     let result;
//     return function f1(...args1) {
//         result = args[count].apply(this, args1);
//         if(count <= 0) {
//             count = len - 1;
//             return result;
//         }
//         else {
//             count--;
//             return f1.call(null, result);
//         }
//     }
// }

// const b = (x, y) => x + y;
// const a = x => x * x;

// const c = compose(a, b);
// let result = c(1, 2);
// console.log(result);


// 实现sleep(2000).then(() => {
    //do something
// })

// function sleep(ms) {
//     return new Promise((resolve, reject) => {
//         setTimeout(resolve, ms, 'done');
//     })
// }

// sleep(2000).then((res) => {
//     console.log(res);
// })

console 命令行工具 X clear

                    
>
console