Jquery 在中止前一个ajax请求后,我可以立即启动新的ajax请求吗?

Jquery 在中止前一个ajax请求后,我可以立即启动新的ajax请求吗?,jquery,ajax,Jquery,Ajax,我有一个web应用程序,每个连接都会发生HTTPs握手,我决心找出原因。HTTP keep alive正在工作,因此它是另一种强制请求在不应该启动新HTTPs握手时启动新HTTPs握手的方式 我有这样的东西(伪代码): 请求对象是jQuery的ajax方法返回的XMLHttpRequest。每次启动请求时,我都会中止上一个请求 我的问题是,这是否会迫使新请求启动HTTP握手,因为旧请求尚未完成。这些要求是定期邮寄的。在启动新请求之前,是否需要显式等待about()完成,以便利用HTTP保持活动状

我有一个web应用程序,每个连接都会发生HTTPs握手,我决心找出原因。HTTP keep alive正在工作,因此它是另一种强制请求在不应该启动新HTTPs握手时启动新HTTPs握手的方式

我有这样的东西(伪代码):

请求对象是jQuery的ajax方法返回的XMLHttpRequest。每次启动请求时,我都会中止上一个请求

我的问题是,这是否会迫使新请求启动HTTP握手,因为旧请求尚未完成。这些要求是定期邮寄的。在启动新请求之前,是否需要显式等待about()完成,以便利用HTTP保持活动状态


对于我中止的每个请求,我都会在$.ajax()的错误回调中得到一个调用。只有在错误处理程序中得到回调后,我才需要启动新请求吗?

在$.ajax中使用complete或error

完成: 错误:
可能您需要使用$.when()jQuery.always()“添加在解析或拒绝延迟对象时调用的处理程序”请参阅以获取更多信息。您能否解释此代码段如何解决OP遇到的问题?看起来您只是在处理一个成功请求的事件,这肯定不是这个问题所涉及的。
   startNewRequest() {
     if (oldRequest)
        oldRequest.abort(); // abort old request
     oldRequest = $.ajax(); // start new request
   }
$.ajax({
   url : RequestUrl,
   complete : function(){
       // Do something when request complete
   }
});
$.ajax({
   url : RequestUrl,
   error: function(){
       // Do something when an error occurred when the request is done
   }
});
$.ajax({
   url : yoururl,
   success : function(){
       // Do whatever
       // oldRequest = $.ajax();
   }
});