Fyi, ich fange gerade an, jQuery Versprechungen zu erlernen, also kann ich hier ein wenig verwirrt sein.jQuery Deferred: Eine Versprechung innerhalb eines Fertigfilters zurückweisen
Wie dem auch sei, ich habe eine AJAX-Anforderung, die ich innerhalb eines getan Filter ablehnen möchten basierend auf dem Inhalt der Antwort:
return doAJAXRequest().then(function (data) {
if (data.responseText == "YES") {
return doOtherAJAXRequest();
} else {
this.reject(data);
}
});
, die nicht funktioniert, wie ich erwartet hatte:
Uncaught TypeError: Object #<Object> has no method 'reject'
Wie kann ich dieses Versprechen basierend auf seiner Antwort fehlschlagen lassen? Ist das möglich? Oder bin ich nur verwirrt darüber, was hier zu tun ist?
Versuchen Sie, this.reject auf $ (this) .reject zu ändern. – rtimoshenko
@rtimoshenko Sind Sie sicher, dass das richtig ist? – alex
@rtimoshenko Das scheint nicht zu funktionieren, ich bekomme immer noch den gleichen Fehler. Edit: Eigentlich ist es nicht genau das gleiche, aber immer noch sehr ähnlich. ('Uncaught TypeError: Objekt [Objekt Objekt] hat keine Methode 'ablehnen') – Ajedi32