我發現這個代碼片段,做什麼,我希望它:jQuery的承諾和骨幹
var promise = this.model.save();
$.when(promise).then(function() {
console.log(promise.responseText);
});
我想從我的骨幹呼籲this.model.save()
找回responseText
。此代碼記錄在here。但它不記錄任何東西,即使我在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響應。
閱讀此http://css.dzone.com/articles/exploring-deferred-and-promise –
它看起來像一個很好的文章。謝謝。 – sehummel
沒有probs :)快樂閱讀.. –