finde ich diesen Code-Snippet, das tun, was ich will, es zu:jQuery Versprechen und Backbone
var promise = this.model.save();
$.when(promise).then(function() {
console.log(promise.responseText);
});
Ich mag this.model.save()
die responseText
von meinem Backbone Anruf zurück zu bekommen. Dieser Code wurde dokumentiert here. Aber es protokolliert nichts, selbst wenn ich eine unverarbeitete Zeichenkette im console.log()
-Aufruf abrufe.
Könnte jemand bitte erklären, was ein jQuery Versprechen ist? Ich habe über sie gelesen, aber ich glaube nicht, dass ich wirklich verstanden habe, was sie sind. Das könnte mir helfen zu verstehen, warum dieser Code nicht für mich funktioniert. Wenn ich console.log(promise)
zwischen der ersten und der zweiten Zeile Code, dann bekomme ich die responseText
. So etwas passiert entweder in der $.when
oder der then
, die dies verursacht schief gehen.
EDIT:
Nach dem Lesen des Artikels, ich entdeckte ich dies tun könnte:
var promise = this.model.save();
$.when(promise).then(null, function(obj) {
console.log(obj.responseText);
});
Aber ich verstehe nicht, was die null
darstellt. then
scheint zwei Parameter zu nehmen, eine Erfolgsfunktion und eine Fehlerfunktion. Aber wäre die Erfolgsfunktion nicht zuerst? Ich bekomme eine 200 Antwort vom Server.
lesen Sie http://css.dzone.com/articles/exploring-deferred-and-promise –
Es ist wie ein guter Artikel aussieht. Vielen Dank. – sehummel
keine probs :) Viel Spaß beim Lesen .. –