promise的catch中如何执行throw
 发布于 10 年前  作者 coderq  8157 次预览  最后一次回复是 10 年前  来自 问答 

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

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

3 回复
coderq

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

bluenaux

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的意思。

bluenaux
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')});