1
以下回調方法之間是否存在技術差異?jQuery Deferred完成vs成功回調
$.ajax({
...
success: function(data, textStatus, jqXHR) {
foo(data);
},
error: function (jqXHR, textStatus, errorThrown) {
bar();
}
});
$.ajax(...)
.done(function(data) {
foo(data);
})
.fail(function() {
bar();
});
$.ajax(...)
.then(function(data) {
foo(data);
}, function() {
bar();
});
經驗少,我不知道他們是通過data
到foo()
正確的例子。 (如果我錯了,請大家指正。)
隨着done
/fail
,我們無法跟蹤像jqXHR
,textStatus
,errorThrown
,等我說的對其他數據?
done
/fail
方法是否有complete
等效?
從你的經驗來看,在某些情況下比其他人更好/更優於其他人嗎?
如果我同時使用success
和done
/then
,將之前對方肯定一分也不能將先於另一個絕對運行某些?或者正在使用success
和done
/then
完全不推薦?
謝謝大家提前。
[jQuery.ajax處理繼續響應:「success:」vs「.done」?]可能重複(http://stackoverflow.com/questions/8840257/jquery-ajax-handling-continue-responses-success- vs-done) – gyre
'.then()'爲鏈接返回一個新的承諾。 '.done()'不。 '.then()'更接近承諾標準(在JQ 3.0中它實際上是標準的,在以前的版本中並不完全)。 '.done()'完全是一個jQuery特定的設計,不受任何承諾標準的約束。 – jfriend00