纪念两个很傻X的算法

1、如何使用promise,做到无限then

代码如下

function reducePromise(promiseArrGen) {
    promiseArrGen.reduce((pre, next) => {
        return pre.then((data) => {
            console.log(data);
            return next(data);
        })
    }, Promise.resolve(0))
}

function createPromise(i) {
    return () => {
        return new Promise((resolve, reject) => {
            setTimeout(()=>{
                resolve(i)
            }, 1000)
        })
    }
}

let PromiseArrGens = []

for(var i = 1; i < 10; i++) {
    PromiseArrGens.push(createPromise(i))
}

reducePromise(PromiseArrGens);

2、使用递归做加法

//递归做加法
add = (n) => {
    if([0].includes(n)) {
        return n;
    }
    
    return n + add(n-1);
}

console.log(add(10))

猜你喜欢

转载自www.cnblogs.com/windseek/p/12622822.html