Я нашел этот фрагмент кода, который делает то, что я хочу:
var promise = this.model.save();
$.when(promise).then(function() {
console.log(promise.responseText);
});
Я хочу вернуть responseText
из моего вызова Backbone в this.model.save()
. Этот код был задокументирован здесь. Но он ничего не записывает, даже если я вытащил необработанную текстовую строку в вызов console.log()
.
Может ли кто-нибудь объяснить в непрофессионалах, что такое обещание jQuery? Я читал о них, но я не думаю, что у меня все получилось. Это может помочь мне понять, почему этот код не работает для меня. Если я console.log(promise)
находится между первой и второй строками кода, я получаю responseText
. Итак, что-то происходит либо в $.when
, либо в then
, что приводит к ошибке.
ИЗМЕНИТЬ:
Прочитав статью, я обнаружил, что могу это сделать:
var promise = this.model.save();
$.when(promise).then(null, function(obj) {
console.log(obj.responseText);
});
Но я не понимаю, что представляет null
. then
, кажется, принимает два параметра, функцию успеха и функцию сбоя. Но разве функция успеха не была бы первой? Я получаю 200 ответов от сервера.