前端菜鸟er,最近在看promise相关概念的时候,有了一下疑问:
//then的使用方法
promise.then(onCompleted, onRejected);
//catch的使用方法
promise.catch((error)=>{
reject(error)
})
我不明白的是在then()里面的onRejected函数和catch中的reject有啥区别?
我个人理解的话主要是以下区别:
then是指进入了fulfilled后执行的代码,而onRejected仅仅是针对then中所执行的任务失败后才会调用;而 catch是指进入了rejected函数后执行的代码,也就是说reject是在这种状况下才会调用
但是去看官方文档贴的图发现,fufilled和rejected二者都可以执行then,所以我有点晕了...
望老哥可以指点一下!感谢
其实还是有点区别的,在于写不写
then
的第二个参数这个在开发过程中错误容易引起理解错误,以为是p的错误,其实还包含了a的调用错误