gpt4 book ai didi

javascript - 在 Javascript (jQuery) 中实现多功能

转载 作者:行者123 更新时间:2023-11-30 10:52:23 26 4
gpt4 key购买 nike

概念是同时运行多个功能。

原因 是,我有一个通过 ajax 执行各种操作的页面。这些操作包括对上传目录中上传的新文件进行多次备份。但我希望这个过程由主持人发起。

由于这是一个非常漫长的过程(甚至可能需要数小时才能完成),它会阻止其他 ajax 请求的执行,直到该过程完成。

我想同时执行函数和之前执行的函数。

我正在使用 jQuery 的 Ajax 发送发起请求。

我会尝试用一个例子来解释


我使用 ajax 请求来执行服务器端操作。这些请求是在 anchor 文本的点击事件上发起的。

$(".ajax").live('click',function() {
action = $(this).attr['rel'];
$.post(
'proccess.php',
{ action: action }, //among many action one is for the backup
function(data) {
//once a particular action is complete check the data to decide if it requires to continue
flag = data.flag;
// if the action fails or if action is backup then the flag is true
if(flag) {
//reexecute the same function
$(this).trigger('click');
}
},'json'
);
});

在 action=='Backup' 的情况下,它一次备份一个文件,然后使用带有 true 标志和成功消息的 json 响应脚本以通知进度并重新执行相同的功能。

其他操作将包括查看备份日志、错误和其他甚至与备份无关的操作。

所以一旦我点击备份选项启动备份进程,我就不能执行其他操作

但我正在使用触发器来发起另一个请求,因为如果多个函数触发器处于挂起状态并且该函数已完成备份一个文件,那么在发送同一函数的另一个调用之前,它会先执行挂起的函数执行。


但我需要一个更好的解决方案,为此我需要多次执行同一函数的多个实例。

最佳答案

听起来这样设计的服务器端并发会更好。让您的 ajax 请求开始备份,并立即返回(如“备份过程开始”消息)

然后您可以每隔一分钟左右查询一次服务器,以查看该过程的进展情况。这样每个 ajax 请求都将在几毫秒内结束,从而使客户端腾出时间来做您需要的任何其他事情。

关于javascript - 在 Javascript (jQuery) 中实现多功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4544647/

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