Ich habe vor kurzem von 1.5 bis 1.6.3 aktualisiert und habe Code, wo ich verzögerte Versprechen Objekte mit dem $ q Service, der jetzt die folgenden Fehler in meinem wirft Unit-Test läuft:
Possibly unhandled rejection: undefined thrown
Hier ist die typische Struktur einer Funktion, die ich in meinem Code habe, der ein latentes Versprechen verwendet:
public someFunction =() => {
const deferred = this.$q.defer();
if (someConditionIsTrue) {
this.myService.getThings().then((response) => {
deferred.resolve(response);
});
} else {
deferred.reject();
}
return deferred.promise;
};
Wenn das Gerät der Prüfung die sonst Bedingung ich diesen Fehler geworfen (mit Karma \ Jasmin \ PhantomJS)
Ich habe bereits auch folgende konfiguriert:
config(['$qProvider', ($qProvider) => {
$qProvider.errorOnUnhandledRejections(false);
}])
Kann jemand zeigen Sie mir in die richtige Richtung bitte?
Dank
Können Sie versuchen, ein Argument in 'deferred.reject()' wie 'defered.reject (false) zu übergeben ' – codtex
Ich habe versucht mit Ihrem Vorschlag und immer noch den Fehler, nur dieses Mal sagt es' möglicherweise unbehandelt Ablehnung: falsch geworfen' zuvor es sagte "unde Geldstrafe geworfen – mindparse
Ja natürlich, jetzt verstehe ich. Sie erhalten diesen Fehler, weil Sie keine Funktion haben, um Ihre Zurückweisung zu behandeln, wie dies 'somePromise.then (function() {/ * das ist Auflösungsfunktion * /}, function() {/ * das ist Zurückweisungsfunktion */}) '. Lass mich wissen, ob das der Grund ist und ich eine Antwort posten kann. – codtex