似乎以下工作而不发出一个错误: 无极捕行为
var p = new Promise (function (resolve, reject) {
window.setTimeout(function() {
reject('ko');
}, 1000);
});
p.then(function (value) { console.log(value); })
.catch(function() { console.log('catched'); });
// → 'catched'
但是,这将引发一个错误:
var p = new Promise (function (resolve, reject) {
window.setTimeout(function() {
p.catch(function() { console.log('catched'); });
reject('ko');
}, 1000);
});
p.then(function (value) { console.log(value); });
// → 'catched'
// Uncaught (in promise) ko
任何乱撞为什么?
时产生的返回值这是因为您没有在您的'p.then'链中处理错误...每个'p.then'或'p.catch'都是独立的,每个必须(最终)处理错误 –