jQuery延迟设置默认状态
问题描述:
考虑一个可能执行或可能不执行AJAX请求的函数。 $.ajax
返回Deferred
实例。对于可链接性,该函数应始终返回Deferred
实例。jQuery延迟设置默认状态
doAjaxReq()
.done(function() {
doAjaxReq2()
.done(function() {
....
})
.fail(ajaxFailHandler)
})
.fail(ajaxFailHandler);
如何可以在新的Deferred
对象的默认状态设置为:
function doAjaxReq() {
if (conditional_is_true) {
return (
$.ajax(
....
);
);
} else {
// Create a Deferred instance
var deferred = $.Deferred();
// Set the Deferred state to "done"
// ????
return deferred;
}
}
想象其他一些类似的功能,如doAjaxReq2
,doAjaxReq3
等,他们将在如下链接?在这种情况下,请设置为已解决状态,以便即使未尝试AJAX请求,也会立即触发done()
回调。
不错!我应该抓住那个。 – leepowers 2013-02-26 00:20:36