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])
});