比方說,我有一個不具有承諾要恢復的AJAX方法,所以我會做這樣的事情:在jQuery中返回promise()或延遲有什麼區別?
promises.setPreferredService = function(id) {
var deferred = $.Deferred();
nsAddressAjaxService.setPreferredAddress(id, {
callback: function(data) {
deferred.resolve(data);
}
});
return deferred.promise(); // I could also return only `deferred`
};
在我的方法的返回,我可以返回deferred.promise()
或只返回deferred
和他們兩個我可以這樣做:
promises.setPreferrredService.done(callback);
那麼就是返回deferred.promise()
或只返回deferred
的區別?
您是否閱讀過文檔? http://api.jquery.com/deferred.promise/ – 2015-02-09 16:22:09
不是真的......但感謝您的參考。 – 2015-02-09 16:25:57
爲什麼你在問之前不這樣做? http://meta.stackoverflow.com/q/261592/139010 – 2015-02-09 16:32:21