Promise catch往后传递

广告位招租
扫码页面底部二维码联系

Promise实例有then方法和cat【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。ch方法,一般用then来处理成功返回数【版权所有,侵权必究】【版权所有,侵权必究】据时的情况,为了把处理后的数据往下一个t【访问 www.tangshuang.net 获取更多精彩内容】【版权所有】唐霜 www.tangshuang.nethen传递,通过return一个新数据的【访问 www.tangshuang.net 获取更多精彩内容】【本文受版权保护】方法,让下一个then的参数等于这个新数【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。据。catch方法更有差别,当你调用一次【版权所有,侵权必究】【本文首发于唐霜的博客】catch之后,后面如果再继续调用cat【转载请注明来源】【作者:唐霜】ch方法,它们都会被忽略,因为从概念上也【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。可以认为,catch之后,错误已经被捕获【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】了,为了让后面的catch还能生效,和t【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】hen的return类似,也可以通过一种【访问 www.tangshuang.net 获取更多精彩内容】【原创不易,请尊重版权】方法往下传递,但是不是用return,而【未经授权禁止转载】【未经授权禁止转载】是用throw:

【原创内容,转载请注明出处】【本文受版权保护】【本文受版权保护】【未经授权禁止转载】
new Promise((resolve, reject) => reject('a')).catch(err => {
  console.log(err)
  throw err
})
.catch(err => console.log(err))

这样就可以使第二个catch也捕获到错误【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net信息,当然,在第一个catch中,可以通【未经授权禁止转载】转载请注明出处:www.tangshuang.net过throw不同的err来传递不同的错误本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】信息给下一个catch。

【本文首发于唐霜的博客】未经授权,禁止复制转载。未经授权,禁止复制转载。【转载请注明来源】