#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 /$интервал