У меня это работает отлично для меня, если страница остается статической, как показано ниже.Как бы я реорганизовал этот угловой 2 наблюдаемый, чтобы не дублировать при изменении маршрута
Используя услугу, чтобы получить результаты HTTP вызова по таймеру повторить
this.lts.getEventDetails(link,currentTime)
.subscribe(res=>{
this.rs.setCurrentRace(activeRound['uid'],res.S);
})
Что вызывает эту функцию в моей службе
getEventDetails(liveTimingLink:string,time:number){
let link = `${liveTimingLink}?R=${time}`
let timer = 5000;
Observable
.interval(timer)
.flatMap(() => {
return this.http.get(link)
.map(res=>{return res.json()})
})
}
Проблема в том, что просто дублирует таймер наблюдаемым каждый время изменения маршрута и вернуться.
Я не уверен, как я должен справиться с этим, я думал, что установил бы наблюдаемую переменную в сервисе и просто вернул бы ее, но я не знаю, как бы я это сделал.
Или я должен делать это так, как будто я делаю это, но просто отменил подписку по мере изменения маршрута? Опять же, я не знаю, как это сделать.
Любые идеи совета очень приветствуются. Спасибо, ребята