之前写了一篇有关Promise
的then
方法的文章,现在在讲解一下有关Promise
原型上catch
的方法
catch
方法是为了处理拒绝的情况或者抛出异常的情况
语法
1 | p.catch(onRejected); |
参数
onRejected
:当Promise
被拒绝时,被调用的一个Function
,该函数拥有一个参数reson
: 拒绝的原因
返回值
一个新的Promise
示例代码
返回的Promise行为状态
1 | var p1 = new Promise(function(resolve, reject) { |
1 | var p1 = new Promise(function(resolve, reject) { |
若把上面的代码改为以下这样:
1 | var p1 = new Promise(function(resolve, reject) { |
1 | var p1 = new Promise(function(resolve, reject) { |
在上面的代码中可以看出catch
返回的Promise
状态和then
方法中的行为是一致的,具体请参考then
抛出一个错误或返回一个失败的 Promise
,Promise
通过 catch() 返回失败onRejected状态的结果;否则,它将返回成功的onFulfilld
状态的数据
异常捕获的行为
1 | // 抛出一个错误,大多数时候将调用catch方法 |
扫描关注,查看更多文章,提高编程能力