У меня сервисный периодический вызов API, который изменяет URL-адрес, если он вызывается впервые.
Он имеет интервальную подписку для генерации вызова API, я не могу использовать глобальную переменную, потому что это сервис, который может быть вызван без удаления инжектора.
getData(init: boolean): Observable<any> {
const refreshInterval = 5000;
const interval = observableInterval(refreshInterval).pipe(startWith(0))
return interval.pipe(
flatMap(() => this.http.get<any>(this.getUrl(init))),
map((data) => this.doWhateverWithData(data)),
);
}
getUrl(init: boolean): string {
return init ? url1 : url2;
}
Моя проблема в том, что init не меняется, и поэтому URL тоже.
Как я могу это решить?
Как я уже сказал, я не могу использовать this.init из-за своего кода.