一般处理Promise.reject()都是catch住错误,然后进行错误处理,一般都是再次发起请求或者直接打印。
直接打印的情况用console.error()就可以了,而再次发起请求呢?
最好是先把reject里的参数变成Promise对象实例再发起请求,因为一般出现错误情况后,返回的不一定Promise对象或者根本不是对象
1 const rejected = Promise.reject('rejected'); 2 3 rejected.catch(function (err) { 4 console.error(err); 5 return Promise.resolve(err); 6 }).then(function (value) { 7 console.log(value); 8 // do something... 9 })
输出:
这里要提一下,虽然第二个打印的是'rejected',但是它确实是个Promise对象的实例,因为可以使用then()方法。