我正在使用企鹅PHP / MYSQL服务器应用程序和My ionic 1 android应用程序。应用程序每30秒向服务器请求一次呼叫,它返回一些数据,当服务器打开时,它运行良好。当服务器关闭时,发出请求并获得响应作为错误,也可以,但是当我在服务器上打开时,响应将批量返回。
例如-如果在服务器关闭到开启之间有10个呼叫(请求),则服务器开启后将有10个响应。
有什么办法可以停止之前发出的请求响应。
请帮助我,它在应用程序中造成了很多问题。
答案 0 :(得分:1)
您需要在特定时间间隔后使请求超时。
下面是一个例子:
$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;
});
如果服务器已关闭,则请求在经过给定间隔后将超时,并且将相应地显示响应错误。
答案 1 :(得分:1)
如果要在离子框架中解决方案:
this.http.post('http://my.api', {your JSON data})
.timeout(10000)
.subscribe((Return_data) => {Do success Stuff}, (err) => {Do Fail Stuff})
如果您的请求什么都没有收到,它将在10秒内停止。
您可能需要import 'rxjs/add/operator/retry';
,具体取决于您的框架版本。