抛出异常影响失败回调
Source
Output
QRCode
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>promise-影响回调</title>
<link rel="stylesheet" type="text/css" href="assets/bootstrap.css">
<script src="//g.alicdn.com/kissy/k/5.0.1/seed.js"></script>
</head>
<body>
<h4>前一个 promise 的成功或失败回调如果抛出异常则影响下一个 promise 的失败回调</h4>
<p>查看代码,点击下面按钮观察结果</p>
<button id="demo6" class="btn btn-default btn-sm">点我执行</button>
<script type="text/javascript">
require(['node', 'promise'], function(Node, Promise){
var $ = Node.all;
$('#demo6').on('click', function(){
var d = new Promise.Defer();
d.resolve(1);
var promise = d.promise;
promise.then(function (v) {
throw "I am custom error:" + v;
},function (reason) {
return 2;
}).then(function (v) {
alert(v); // 不回调
}, function (reason) {
alert(reason); // =>2
});
});
})
</script>
</body>
</html>