我正在尝试创建一组function
(如下面的App对象),它接受preInit,Init,Load函数并按顺序执行它们。
例如:
var formOperation = App.preInit(function(){
//Some Code ...
})
.init(function(){
//Some Code Here...
})
.load(function(){
//Other Code Here...
});
问题在于我根本不希望用户处理Deferred对象,我希望他们根据需要使用尽可能多的ajax calls
。我不希望他们使用扩展到jQuery like ajaxQueue
的函数。
我能想到的唯一方法是获取$.ajax calls
列表并在调用它们之前设置Deferred对象。
在调用函数之前,您是否知道如何在ajax calls
中获取function
列表?
或者您还有其他建议吗?
答案 0 :(得分:0)
嗯,我想我已经找到了解决方案。 $.ajaxSetup()
有一个名为beforeSend
的东西,它将延迟对象传递给它!我可以创建一个数组并将延迟对象添加到它。
var ajaxCalls = [{}];
$.ajaxSetup($.ajaxSettings, {
beforeSend: function (deferred) {
ajaxCalls.push(deferred);
},
complete: function (xhr, textStatus) {
if (ajaxCalls.length == 1) {
//Do Something...
}
}
});