弱弱的问下关于Q 的问题
发布于 10个月前 作者 lonso 480 次浏览

如何强制推出promise chain step(1).then(function(val){ reject(); }).then(function(){ //不要执行这一步 }).catch()

6 回复

promise 的话

直接 ?

throw new Error();

然后用?

finally

throw 肯定可以撒,,必须这么暴力? 有没有更加斯文一点的办法? 哈哈

@lonso 这个用习惯了其实还挺爽的,中间只要某一步出错就可以直接终止掉流程

@liuyanghejerry 肯定要中止流程才行, 看别人博客说了,这种方式error 会传递下去,不会中断,只能throw 才会中断,目前这样理解的。

从直觉上来说,如果前一步的function返回的是promise并且这个promise被reject的话应该会跳到catch,没有实际测试

对的,就是因为错误会传递下去,需要throw下就可以了。

回到顶部