我正在从浏览器向服务发出一堆 ajax 调用,我希望通过不一次发送所有这些来对服务器友好。是否有一种标准模式用于序列化事件列表的触发,以便下一个事件在最后一个事件完成之前不会触发?
问问题
115 次
2 回答
2
我认为使用延迟对象链接异步回调的 jQuery.whenSync() 插件可以帮助您对 AJAX 调用进行排队。
于 2012-10-11T00:43:24.733 回答
0
我现在用我的一个应用程序来做这件事。基本上我有一个数组来存储我所有的 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);
于 2012-10-11T00:21:52.413 回答