6.promise异常传/穿透?
(1)当时有promise的then链式调用时,可以在最后指定失败的回调
(2)前面任何操作出了异常,都会传到最后失败的回调中
7.中断promise链?
(1)当前使用promise的then链式调用时,在中间中断,不再调用后面的回调函数
(2)办法:在回调函数中返回一个pendding状态的promise对象
//promise异常传透
new Promise((resolve,reject)=>{
reject(1);
}).then(
value=>{
console.log("onResolved1()",value);
return 2
} ,
// reason =>{throw reason}
).then(
value=>{
console.log("onResolved2()",value);
return 3
},
// reason =>{throw reason}
).then(
value=>{
console.log("onResolved3()",value)
},
// reason =>{throw reason}
).catch(reason=>{
console.log("onRejected1()",reason)
//注意:没有return的 时候下面的then执行的是成功
// Promise.reject(reason)
//下面的then走reason那一条路的 方法
// throw reason
// return Promise.reject(reason)
//中断:返回一个pedding的promise
return new Promise(()=>{})
}).then(
//catch里没有传回失败所以 走的 value这条路
value=>{
console.log("onResolved111()",value);
},
reason=>{
console.log("onRejected111()",reason)
}
)