初學promise,有個地方沒有理解,想請教下各位大大。:代碼如下,我的問題是為什么我在定時器里面手寫了一個未定義的錯誤,它會導致控制臺直接報錯了,而不是說拒絕然后輸出2?而如果我是reject()直接拒絕,控制臺就不會報錯,而如果不是在定時器里面手寫,而是在外面手寫,也是正常的。(這里b是一個未定義變量)var p = new Promise(function(resolve, reject) { setTimeout(function () { b++; },1000); //b++;});p.then(function(){ console.log(1);},function(){ console.log(2);});按照上面這樣的話,就是控制臺報錯。而按照下面的話,就會捕捉到拒絕,輸出2var p = new Promise(function(resolve, reject) { b++;});p.then(function(){ console.log(1);},function(){ console.log(2);});
關于promise異常捕捉的一個問題,求各位大大解答
蝴蝶刀刀
2018-11-21 22:21:14