CNode

promise的catch中如何执行throw

问答
Ccoderq发布于11 年前最后回复11 年前3 回复8370 浏览0 收藏

var promise = new Promise(function (resolve, reject) { reject(new Error); }); promise.catch(function (e) {console.error(e); throw e;});

最近研究学习es6,发现throw在catch里面无法抛出错误,请问使用promise如何定位错误

查看回复

回复 (3)

C
coderq#1·11 年前

一天了都没有回复啊,是我问的方式不对吗

B
bluenaux#2·11 年前

http://liubin.github.io/promises-book/#not-throw-use-reject http://efe.baidu.com/blog/promises-anti-pattern/ 不是太会,如果promise catch中有错,就继续用Promise的思维交给promise catch,处理好了,但最后一个catch,应该有finally的意思。

B
bluenaux#3·11 年前
var promise = new Promise(function (resolve, reject) {
			reject(new Error);
});
promise.catch(function (e) {console.log('throw'); throw e;})
              .catch(function(err){console.log('error')});
参与回复
登录后即可参与回复。登录