2017-10-16 3 views
1

Je fais un appel HTTP dans un contrôleur de mon application ionic1. il y a des moments où la connexion internet est lente et j'aimerais mettre un timeout sur les scripts. Par exemple, quand il n'y a pas de réponse pendant 20 secondes une alerte devrait apparaîtreDéfinir le délai d'expiration de la requête http dans ionic1 avec angularjs

.controller('account_statement_ctrl', function($scope, $http, $ionicLoading, $ionicPopup, $cordovaToast, $location, $ionicModal, $filter) { 
    $scope.account_number = localStorage.getItem("account_number"); 
    ///alert if connection fails 
    $scope.connect = function() { 
    var alertPopup = $ionicPopup.alert({ 
     title: 'Error', 
     template: '<p align="center">Internet Connectivity Problem</p>', 
    }); 
    }; 


    $scope.nobill = function() { 
    var alertPopup = $ionicPopup.alert({ 
     title: 'Error', 
     template: '<p align="center">Not Found</p>', 
    }); 
    }; 

    $scope.acc_request = function() { 

    $scope.start_date = $filter('date')($scope.sdate, "yyyy-MM-dd"); 
    $scope.end_date = $filter('date')($scope.edate, "yyyy-MM-dd"); 

    $ionicLoading.show({ 
     template: '<p>Processing Request</p><ion-spinner></ion-spinner>' 
    }); 
    $http.get("http://localhost/app/state?account_number=" + $scope.account_number).success(function(data) { 
     $scope.statement = data.data 
     //console.log(JSON.stringify(data.data)) 
     { 
      $ionicLoading.hide(); 
     } 
    }) 
    } 
}) 

Répondre

0

$http.get retourne un Promise qui peut soit appeler un rappel success ou error. Vous pouvez définir le délai d'attente sur la demande (voir docs), puis réagir au délai d'attente dans le rappel error.

$http.get(myUrl, { timeout: 20000 }).then(successCallback, errorCallback); 

Lire la general documentation pour plus de détails.

BTW dans votre script vous utilisez .success qui est obsolète. La méthode conseillée consiste à utiliser l'API Promise standardisée, c'est-à-dire .then().

+0

pouvez-vous l'exprimer dans mon script? – user6579134

+0

J'ai ajouté un extrait de base –