function asyn(n){
const promise = new Promise((resolve,reject)=>{
if(n>2){
setTimeout(() => {
console.log(n--);
resolve(n);
}, 1000);
}else{
setTimeout(() => {
console.log(n--);
reject(n);
}, 1000);
}
});
return promise;
}
asyn(5).then(function(n){
return asyn(n); //asyn()的运行结果是promise对象,需要return,then的返回值是promise对象
}).then(function(n){
return asyn(n);
}).then(function(n){
return asyn(n);
}).then(function(){},function(n){
console.log(100*n);
});
//隔一秒
5 //隔一秒
4 //隔一秒
3 //隔一秒
2 //不间隔
100