Javascript 当一些函数有几个ajax调用时,按顺序执行几个js函数

Javascript 当一些函数有几个ajax调用时,按顺序执行几个js函数,javascript,jquery,ajax,deferred,Javascript,Jquery,Ajax,Deferred,我试图创建一组函数(如下面的App object),它接受preInit、Init和Load函数,并按顺序执行它们。 例如: var formOperation = App.preInit(function(){ //Some Code ... }) .init(function(){ //Some Code Here... }) .load(function(){ //Other Code Here... }); 问题是,我根本不希望用户处理延迟对象,我希望他们使用尽可能多的ajax调用。我

我试图创建一组
函数
(如下面的App object),它接受preInit、Init和Load函数,并按顺序执行它们。 例如:

var formOperation = App.preInit(function(){
//Some Code ...
})
.init(function(){
//Some Code Here...
})
.load(function(){
//Other Code Here...
});
问题是,我根本不希望用户处理延迟对象,我希望他们使用尽可能多的
ajax调用。我不希望他们使用像ajaxQueue那样扩展到
jQuery的函数

我能想到的唯一方法是获取
$.ajax调用的列表
,并在调用它们之前在其中设置延迟对象

在调用函数之前,您知道如何在
函数中获取
ajax调用的列表吗?

或者你还有其他建议吗?

我想我已经找到了解决这个问题的办法
$.ajaxSetup()
有一个名为beforeSend
的东西,它将延迟对象传递给它!我可以创建一个数组并向其中添加延迟对象

var ajaxCalls = [{}];
        $.ajaxSetup($.ajaxSettings, {
            beforeSend: function (deferred) {

                ajaxCalls.push(deferred);
            },
            complete: function (xhr, textStatus) {
                if (ajaxCalls.length == 1) {
                    //Do Something...
                }
            }
        });

我认为没有任何方法(以编程方式)来判断作为参数传递给代码的函数是否对Ajax有用。即使您可以以某种方式检查该函数,它也可能调用其他函数,从而执行Ajax操作……我想我已经找到了一个解决方案。但问题是我不能把它作为一个答案。因为我今天问了这个问题
$.ajaxSetup()
有一个名为beforeSend
的东西,它将延迟对象传递给它!我可以创建一个数组并向其中添加延迟对象。