Как остановить HTTP-ответ после неудачного ответа - PullRequest
0 голосов
/ 30 августа 2018

Я использую серверное приложение PHP / MYSQL для пингвинов и Android-приложение My ionic 1. Приложение запрашивает вызов каждые 30 секунд на сервер, и он возвращает некоторые данные, он отлично работает, когда сервер включен. Когда сервер выключен, запросы отправляются и получаются ответы как ошибки, это также нормально, но когда я ВКЛЮЧЕН сервер, ответы будут возвращаться массово.

Например - если между выключенным и включенным сервером имеется 10 вызовов (запросов), то после включения сервера будет 10 ответов.

Есть ли способ остановить ранее сделанный запрос.

Пожалуйста, помогите мне, это создает много проблем в приложении.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018

Если вы хотите решение в ионной структуре:

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'; в зависимости от версии вашей платформы.

0 голосов
/ 30 августа 2018

Вам нужно тайм-аут запроса после определенного интервала.

Пример иллюстрируется ниже:

$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;
          });

Если ваш сервер не работает, запрос истечет по истечении заданного интервала времени, и соответственно отобразится ошибка ответа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...