似乎以下工作而不發出一個錯誤: 無極捕行爲
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'都是獨立的,每個必須(最終)處理錯誤 –