Как выполнять цикл этой функции каждые 30 секунд?

#angularjs #ionic-framework

#angularjs #ionic-framework

Вопрос:

Привет, создаю ионное приложение, которое получает информацию о подключении Wi-Fi и отправляет ее в firebase

эта функция работает нормально, но я хочу, чтобы нажатие кнопки 1 раз зацикливало эту функцию для отправки значения каждые 30 секунд, и если повторное нажатие кнопки остановит цикл.

может кто-нибудь научить меня, как это сделать, пожалуйста?

код кнопки

 <button
    class="button icon-left ion-radio-waves button-positive inactive b_resize"
     ng-click='getWifiInfo();'>Send Wifi info
</button>
  

код функции

 $scope.getWifiInfo = function() { //get wifiinfo
        function success(results) {

                $scope.wifiinfo=results; 
                $scope.$apply();          

              $scope.currentDate = $filter('date')(new Date(),'EEEE,d MMMM, y');
              $scope.currentTime = $filter('date')(new Date(),'h:mm:ss a');


              fireBaseData.refUser().child($scope.user_info.uid).child("wifiinfo-record").child($scope.currentDate).child($scope.currentTime).push({  



                                //wifi data send to wifiinfo-record
                                SSID: $scope.wifiinfo.SSID,
                                MacAddress:$scope.wifiinfo.BSSID,
                                SignalStrength: $scope.wifiinfo.Rssi,
                                type:"record",

                              });


                  };
        function err(e) {
                console.log(JSON.stringify(e));
              };        
              WifiInfo.getWifiInfo(success,err);
        }
  

Комментарии:

1. Пожалуйста, поддерживайте стандарт Stackoverflow

Ответ №1:

Вы ищете setInterval

 function foo(){
    console.log('function is being called')
}

var interval = setInterval(foo, 30000);
  

и чтобы остановить это, вы сделаете:

 clearInterval(interval);
  

Комментарии:

1. если OP действительно заинтересованы в изменении переменных области внутри этого обратного вызова, они предпочитают использовать $interval сервис, предназначенный для того же

2. Я сделал это!, Спасибо за ваш совет

3. @PankajParkar Ты прав, я даже не осознавал, что это было угловато. ОП, это одна и та же концепция. Посмотрите здесь: docs.angularjs.org/api/ng/service /$интервал