function case3() {
// 如果promise1是rejected态的,并且没有定义onRejected,则promise2也会是rejected态的。
let p1 = new Promise((resolve, reject) => {
// throw 'p1 error'
resolve();
});
p1.then(res => {
let a = 2;
return a;
console.log(1);
}).then(
a => {
console.log('not run:', a);
},
e => {
// 如果p1的 onReject 抛出了异常
console.log('handle p2:', e);
}
);
}
case3();
/* bind方法测试开始 */
/* function case4(){
let p1 = new Promise((resolve, reject)=>{
resolve(1)
})
p1.then((res)=>{
console.log(res)
throw 'p1 onFull error'
}).then(()=>{}, (e)=>{
console.log('2:', e)
return 123
})
}
case4() */
/* function a(){
console.log(this.name)
}
// a()
var b = {
name: 'apple'
};
a.bind(b)()
*/
/* bind方法测试结束 */