2017-07-27 3 views
0

Ich verwende Angulars Promise.all() Methode. Da die Fehlerbehandlung im Dienst erfolgt, benötige ich die .catch()-Methode in der Komponente nicht. Aber wenn ich es verlasse - wie im Beispiel -, wird die Methode ausgeführt, selbst wenn eines der Versprechen abgelehnt wird. Ich verstehe nicht, warum das passiert.Unerwartetes Verhalten bei Verwendung von Angular Promise.all ohne Fangmethode

Code-Beispiel:

const promises = [promise1, promise2]; 
Promise.all(promises) 
    .then(suc => { 
    // gets executed in error case 
    this.result1= suc[0]; 
    this.result2= suc[1]; 
    }); 
+0

was meinst du mit 'versprechen scheitern '? –

+0

Kann nicht helfen, ohne die Logik für 'promise1' und' promise2' zu sehen, aber wenn Sie im Service "fangen", dann ist das Versprechen nicht fehlgeschlagen. –

+0

@Maximus Ich meinte, wenn das Versprechen abgelehnt wird. –

Antwort

0

Ich löste es durch den Fehler aus dem Dienst an die Komponenten-Handhabungs bewegen. Denn wenn Sie einen Fehler im Service feststellen, wird dieser nicht ordnungsgemäß an die Komponente übergeben.

Verwandte Themen