抛出异常影响失败回调

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>