我发现这段代码可以满足我的要求:
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 响应。