new Promise ( (resolve, reject) => { setTimeout( () => { reject('bye') },2000) }) .then( value => { console.log(value);}, error => { console.log(error) }) .catch( error => { console.log(error);})
只输出一次,那这个是then里输出的还是catch里输出的呢?
异常第一次被捕获,就不会再被捕获了,类似Java机制
new Promise((resolve, reject) => {
setTimeout(() => { reject('bye') }, 2000)
})
.then(
value => { console.log(value); },
error => {
console.log("error:" + error)
})
.catch(error => { console.log("catch:" + error); })
成功才调用.then里的方法,错误就去到.catch方法,所有这个是走catch方法。
我理解是后面的那个catch 是捕获then里reject返回的promise对象的error