在下面的函数中你可以看到.save()部分没有响应对象,我想知道如何声明一个响应对象来获取返回值。
$.when(
_this.formWebsitePart.save({
success: function () {
console.log("website saved")
_this.formWebsitePart.isSaved = true;
}
}),
_this.formAddressPart.save({
success: function () {
console.log("address saved")
}
})
).then(function () {
_this.signupSuccess();
}
)
答案 0 :(得分:0)
如果你的.save()
真正返回了一个jqXHR对象,那么你可能想要这样的东西:
_this.saveFormParts = function() {
if(!_this.formWebsitePart.jqXHR) {
_this.formWebsitePart.jqXHR = _this.formWebsitePart.save().then(function(response) {
console.log("website saved");
return response || null;
});
}
if(!_this.formAddressPart.jqXHR) {
_this.formAddressPart.jqXHR = _this.formAddressPart.save().then(function(response) {
console.log("address saved");
return response || null;
});
}
return $.when(
_this.formWebsitePart.jqXHR,
_this.formAddressPart.jqXHR
);
}
并且,在适当的地方:
_this.saveFormParts().then(_this.signupSuccess); // or similar
如果.save()
未返回jqXHR对象,则需要执行以下操作之一:
.save()
(首选).saveFormParts()
宣传传统的回调界面 - try this