promise

2019-03-07  本文已影响0人  duans_

promise解决回调地狱, 实现链式操作


// 普通方式实现: 计算1+1,接着计算2+2,接着计算3+3,接着计算3+3...
function add(a,b,callback){
    let sum=a+b;
    console.log(sum)
    callback&&callback();   
}

add(1,1,function(){
    add(2,2,function(){
        add(3,3,function(){
            add(4,4);
        });
    });
});


// promise实现计算1+1,接着计算2+2,接着计算3+3,接着计算3+3...

function promiseAdd(arr){
    let p=new Promise(function(resolve,reject){
        resolve&&resolve(arr);
    });
    return p;
}

promiseAdd([1,1]).then(function(){
    // console.log(arguments);
    let arg=arguments[0];
    console.log(arg[0]+arg[1])
    return promiseAdd([2,2]);   
}).then(function(){
    let arg=arguments[0];
    console.log(arg[0]+arg[1])
    return promiseAdd([3,3]);
}).then(function(){
    let arg=arguments[0];
    console.log(arg[0]+arg[1])
    return promiseAdd([4,4]);
}).then(function(){
    let arg=arguments[0];
    console.log(arg[0]+arg[1])
});

上一篇下一篇

猜你喜欢

热点阅读