let p1 = new Promise((resolve,reject)=>{
//resolve(‘resolve‘)
reject(‘reject‘)
});
p1.then(a=>{
console.log(a);
},b=>{
console.log(b);
return 1;
}).then(a=>{
console.log(a); // 1
})
注意:then返回非promise始终是resolved状态 并且传递给下一个then的值为return 的值
let p2 = new Promise((resolve,reject)=>{
//resolve(‘resolve‘)
reject(‘reject‘)
});
p2.then(a=>{
console.log(a);
},b=>{
console.log(b);
return new Promise((resolve,reject)=>{
//reject(‘reject‘);
resolve(‘resolve‘);
})
}).then(a=>{
console.log(a); // resolve
},b=>{
console.log(b); // reject
})
注意:then返回的是promise正常处理
原文:https://www.cnblogs.com/jayking1314/p/14902794.html