关于promise中reject和catch的问题

一、reject后的东西,一定会进入then中的第二个回调,如果then中没有写第二个回调,则进入catch

二、resolve的东西,一定会进入then的第一个回调,肯定不会进入catch

throw new Error 的情况和rej一样,但是他俩只会有一个发生 
另外,网络异常(比如断网),会直接进入catch而不会进入then的第二个回调

reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

对于catch如果异步操作抛出错误,状态就会变为rejected,就会调用catch方法指定的回调函数,处理这个错误。另外,then方法指定的回调函数,如果运行中抛出错误,也会被catch方法捕获。

posted @ 2018-10-01 16:58  xc9010  阅读(2209)  评论(0编辑  收藏  举报