Использование списка радио, где значения 5, 15, 20 и 30 минут. По умолчанию выбрано 15 минут.
Теперь мне нужно постоянно проверять функцию, когда выбрано 5 секунд.
если выбран переключатель на 15 секунд, то отмените подписку на наблюдаемую 5 секунд и запустите 15-секундный подписчик, используя Observable.
Когда приложение находится в фоновом режиме, мне нужно постоянно проверять вышеописанный сценарий, какое значение списка радиостанций выбрано и на основе значения, которое мне нужно, чтобы запустить Observable.
Я использую ионные рамки (код ниже), когда подписываться и отписываться?
this.timerOneHourSubscription = Observable.interval(15000)
.subscribe((val) => {
}
Пример ниже:
timerOneHourSubscription: Subscription;
constructor() {
this.showBadge();
}
}
/**
* This function allows to display badge on app icon
*/
showBadge() {
//by default one hour subscription
var refreshInterval =
localStore.getPersistedData(localApp.ISRADIOGROUP_KEY);
console.log('refreshInterval', refreshInterval);
this.timerOneHourSubscription = Observable.interval(refreshInterval)
.subscribe((val) => {
if (localStore.getPersistedData(localApp.ISRADIOGROUP_KEY) != null) {
if (localStore.getPersistedData(local.ISBADGE_ENABLED_KEY) != null) {
let badgeToggleEnable = local.getPersistedData(local.ISBADGE_ENABLED_KEY);
if (badgeToggleEnable) {
if (this.Items != null) {
if (localStore.getPersistedData(localApp.ITEMS_KEY) != null) {
this.Items = localStore.getPersistedData(localApp.ITEMS_KEY);
var count = 0;
for (let i = 0; i < this.Items.length; i++) {
var unRead= this.Items[i].unRead;
if (unRead) {
count++;
}
}
this.badge.set(unRead++);
}
}
}
else {
this.badge.clear();
}
}
}
});
}