Javascript 使用jquery强制连续触发事件的模式

Javascript 使用jquery强制连续触发事件的模式,javascript,jquery,event-handling,Javascript,Jquery,Event Handling,我正在从浏览器向服务发出一系列ajax调用,我希望对服务器友好,不要一次发送所有调用。是否有一个标准模式用于序列化事件列表的触发,以便在最后一个事件完成之前不会触发下一个事件?我现在使用我的一个应用程序来执行此操作。基本上,我有一个存储所有ajax调用参数的数组。在回调中,我传递下一个增量,直到没有更多增量为止。下面是一个通用示例(您可以使用ajax或get,当然,我就是这样做的: var params = [ {url : 'someurl', data : 'somedata', callb

我正在从浏览器向服务发出一系列ajax调用,我希望对服务器友好,不要一次发送所有调用。是否有一个标准模式用于序列化事件列表的触发,以便在最后一个事件完成之前不会触发下一个事件?

我现在使用我的一个应用程序来执行此操作。基本上,我有一个存储所有ajax调用参数的数组。在回调中,我传递下一个增量,直到没有更多增量为止。下面是一个通用示例(您可以使用ajax或get,当然,我就是这样做的:

var params = [
{url : 'someurl', data : 'somedata', callback : doSomething},
{url : 'anotherurl', data : 'moredata'}
],
process = function(i) {

    if (i < params.length) {  

        var item = params[i];     

        // Navigate to first view trainee screen
        $.post(
            item.url,
            item.data,
            function(data) {
                // Could test for function, etc but this is how I do it
                try {
                     item.callback(data);
                } catch (e) {}

                process(++i);
            }
         );

    }
};


process(0);
var参数=[
{url:'someurl',data:'somedata',callback:doSomething},
{url:'anotherurl',data:'moredata'}
],
过程=功能(i){
如果(i
我认为可以帮助您对AJAX调用进行排队。

您可以将调用嵌套在以前调用的AJAX调用的成功回调中。但是,这将非常难看。我希望看到更好的解决方案。您可以存储AJAX参数的全局列表,然后使用一个函数逐个处理它们。这样做的好处是,结果会更好函数的ndler实际上可以对其他请求进行排队您可以使AJAX调用同步,但我希望您不想这样做。似乎您需要一个AJAX队列管理器,您可以编写自己的队列管理器,也可以使用现有的队列管理器。如果出现这种情况,肯定会有其他队列管理器。