Обработка подписок на задачи, выполняемые в угловой зоне
Моя цель: подписаться на наблюдаемую, имеющую угловую зону. Я использую плагин фоновой геолокации, чтобы получить местоположение устройства, когда приложение закрыто. И в зависимости от местоположения, я хочу остановить таймер, который был бы запущен пользователем ранее. Я управляю остановкой таймера в моем компоненте.
geolocation.service.ts
startBackTracking(destLat, destLng)
{
return this.backgGeolocation.configure(config)
.map((pos) => {
this.zone.run(() => {
this.lat = pos.latitude;
this.lng = pos.longitude;
let isOnSite = this.isAtSite(this.lat, this.lng, destLat, destLng);
return isOnSite;
});
});
}
handler.component.ts
this.geolocationService.startBackTracking(this.destLat, this.destLng)
.subscribe((res) => {
//stop timer depending on res
}
Моя проблема: когда приложение закрыто, я знаю, что задача зоны будет запущена. Но так как зона запускается в другом контексте, будет ли выполняться мой код подписки при закрытии приложения? И / или есть ли лучший способ обработки подписок на угловые зоны?