javascript – Eine Frage zum Abfangen von Versprechensausnahmen, bitte geben Sie mir eine Antwort
过去多啦不再A梦
过去多啦不再A梦 2017-06-12 09:28:47
0
1
644

Ich bin ein Neuling in Sachen Versprechungen und da ist etwas, das ich nicht verstehe. Ich möchte Sie um Hilfe bitten. :

Der Code lautet wie folgt: Warum habe ich einen undefinierten Fehler in den Timer geschrieben, der dazu führt, dass die Konsole direkt einen Fehler meldet, anstatt Ablehnung zu sagen und 2 auszugeben? Die Station meldet keinen Fehler und es ist normal, wenn die Handschrift außerhalb des Timers statt innerhalb des Timers erfolgt. (Hier ist b eine undefinierte Variable)

var p = new Promise(function(resolve, reject) {
    setTimeout(function () {
        b++;
    },1000);
    //b++;
});
p.then(function(){
    console.log(1);
},function(){
    console.log(2);
});

Dem oben Gesagten zufolge meldet die Konsole einen Fehler.

Und wie folgt wird die Ablehnung erfasst und ausgegeben 2

var p = new Promise(function(resolve, reject) {
    
    b++;
});
p.then(function(){
    console.log(1);
},function(){
    console.log(2);
});
过去多啦不再A梦
过去多啦不再A梦

Antworte allen(1)
黄舟

因为b++的错误是在setTimeout这个function里,不是在promise的function里。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage