2016-10-20 1 views
1

Ich möchte Dojo/Deferred-Objekte ablehnen können, ohne dass dies in der Browser-Konsole als Fehler angezeigt wird. Viele dieser Ablehnungen sind keine tatsächlichen Fehler. Sie sind nur Ablehnungen, Teil von Prozessen, die nicht ihrem Hauptweg der Ausführung folgten, aber auch nicht in einer Katastrophe enden. Ich bin noch mehr beunruhigt über diese fehlerhaften Fehlerberichte, da ich die Fehlerprotokolle erfasst habe und sie für eine mögliche weitere Analyse an einen Server gesendet habe (großes Produkt in der Beta-Testphase).Kann ich Dojo/Deferred ablehnen, ohne einen Fehler in der Browserkonsole zu bekommen?

Hat es jemand getan?

// assuming we're running in a Dojo environment 

require(["dojo/Deferred"], 
function(Deferred) { 
    var d = new Deferred(); 
    d.reject("I don't want to see this on the console !"); 
}); 

PS: Antworten wie „Ihre eigene latente Klasse durch Kopieren schreiben/das einer vom Dojo Open-Source-Code zu ändern“ wäre nicht die Art, die ich erwarte. ;)

+1

Ja, Sie können, aber Sie müssen etwas Code posten. – adeneo

+0

Harte Verhandlungen. : D OK, hier kommt es ... –

Antwort

1

Sicher, du musst einfach die .catch() die Zurückweisungen irgendwo (und ignorieren sie, wenn Sie wollen). Es ist das gleiche für synchron throw n Fehler - wenn Sie den Code nicht in eine try/catch wickeln, werden die Ausnahmen in der Konsole angezeigt. Sie müssen dies explizit tun, da es andernfalls als unerwarteter Fehler/Ablehnung betrachtet und als solcher protokolliert wird.

+0

In Ordnung, Sie haben mir gerade klar gemacht, dass nur jene Deferreds, die keinen Fehler-Handler benötigten, diejenigen waren, die auftauchten. Ich fühle mich jetzt dumm. Vielen Dank :) –

Verwandte Themen