gpt4 book ai didi

jQuery 同步非阻塞ajax 调用

转载 作者:行者123 更新时间:2023-12-03 23:03:54 26 4
gpt4 key购买 nike

在我的 Web 应用程序中,我有一系列快速触发的 ajax 调用。在服务器上,这些需要按照从客户端发送的顺序进行处理。

我一直在 jQuery 中使用 async: false 配置来执行此操作。然而,这会导致 GUI 变得非常缓慢,同时会阻止调用完成。使用 async: true GUI 可以响应,但请求并不总是按顺序处理。

是否有另一种非阻塞方法来对ajax请求进行排队,以便下一个请求仅在前一个请求完成后才发送?

注意:我没有要处理的请求“列表”。请求是动态生成的,因此我需要能够在生成请求时将它们填充到某种 FIFO 队列中,然后通过某些进程使用该队列。

最佳答案

可以使用 jQuery promises 轻松完成:

function firstAjax() {
return $.ajax({...});
}

function secondAjax() {
return $.ajax({...});
}

firstAjax().pipe(secondAjax).pipe(...).done(function() {
alert('all requests have successfully finished');
});

$.when(firstAjax()).pipe(secondAjax).pipe(...).done(function() {
alert('all requests have successfully finished');
});

http://jsfiddle.net/zerkms/WQcVD/1/

关于jQuery 同步非阻塞ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11639467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com