Android 如何在响应失败后停止http响应

Android 如何在响应失败后停止http响应,android,angularjs,cordova,ionic-framework,httprequest,Android,Angularjs,Cordova,Ionic Framework,Httprequest,我正在使用企鹅PHP/MYSQL服务器应用程序和我的爱奥尼亚1安卓应用程序。应用程序每30秒向服务器请求一次呼叫,并返回一些数据,当服务器打开时,它工作正常。当服务器关闭时,会发出请求并将响应作为错误获取,这也是正常的,但当我在服务器上运行时,响应将批量返回 例如,如果在服务器关闭到打开之间有10个调用(请求),那么在服务器打开之后将有10个响应 是否有任何方法可以停止之前发出的请求响应 请帮助我,这会在应用程序中产生很多问题。您需要在特定时间间隔后超时请求 下面举例说明: $http({

我正在使用企鹅PHP/MYSQL服务器应用程序和我的爱奥尼亚1安卓应用程序。应用程序每30秒向服务器请求一次呼叫,并返回一些数据,当服务器打开时,它工作正常。当服务器关闭时,会发出请求并将响应作为错误获取,这也是正常的,但当我在服务器上运行时,响应将批量返回

例如,如果在服务器关闭到打开之间有10个调用(请求),那么在服务器打开之后将有10个响应

是否有任何方法可以停止之前发出的请求响应


请帮助我,这会在应用程序中产生很多问题。

您需要在特定时间间隔后超时请求

下面举例说明:

$http({
          method : "GET",
          url : "https://www.example.com/post",
          timeout: 1*35 * 1000   //35 secs just for safety, as it takes 30 secs for next request
      })
        .then(
            function mySuccess(response) {
               $scope.myWelcome = response.data;
            },
            function myError(response)   {
               $scope.myWelcome = response.statusText;
          });

如果服务器关闭,请求将在超过给定的时间间隔后超时,并相应地显示响应错误

您需要在特定时间间隔后超时请求

下面举例说明:

$http({
          method : "GET",
          url : "https://www.example.com/post",
          timeout: 1*35 * 1000   //35 secs just for safety, as it takes 30 secs for next request
      })
        .then(
            function mySuccess(response) {
               $scope.myWelcome = response.data;
            },
            function myError(response)   {
               $scope.myWelcome = response.statusText;
          });

如果服务器关闭,请求将在超过给定的时间间隔后超时,并相应地显示响应错误

如果您想要离子框架中的解决方案:

this.http.post('http://my.api', {your JSON data})
    .timeout(10000)
    .subscribe((Return_data) => {Do success Stuff}, (err) => {Do Fail Stuff})
如果您的请求没有收到任何内容,它将在10秒钟后停止


您可能需要
导入'rxjs/add/operator/retry'取决于您的框架版本。

如果您希望在ionic框架中找到解决方案:

this.http.post('http://my.api', {your JSON data})
    .timeout(10000)
    .subscribe((Return_data) => {Do success Stuff}, (err) => {Do Fail Stuff})
如果您的请求没有收到任何内容,它将在10秒钟后停止


您可能需要
导入'rxjs/add/operator/retry'取决于您的框架版本。

代码中是否有某种东西将这些请求排队,直到服务器启动?因为当服务器关闭时,应该没有办法为这些请求提供服务。没有什么,每30秒只有一次请求调用。当我在控制台日志中看到服务器关闭时,它会给出错误,打开所有请求调用后,如果没有响应错误码(即500),则在服务器关闭时响应将在服务器关闭时响应然后,这些请求必须等待服务器响应,在这种情况下,您可以为服务器等待响应的时间提供超时函数。我认为它可以完成这项工作。请举个例子,代码中有没有什么东西可以将这些请求排队,直到服务器启动?因为当服务器关闭时,应该没有办法为这些请求提供服务。没有什么,每30秒只有一次请求调用。当我在控制台日志中看到服务器关闭时,它会给出错误,打开所有请求调用后,如果没有响应错误码(即500),则在服务器关闭时响应将在服务器关闭时响应然后,这些请求必须等待服务器响应,在这种情况下,您可以为服务器等待响应的时间提供超时函数。我想它能胜任这项工作。请举个例子