Я пытаюсь подключиться к нескольким службам после входа в мое приложение. Я создал служебный файл, и в нем есть функция, которая будет работать с несколькими apis и инициализировать объекты поведения. Но происходит то, что все субъекты поведения инициализируются одними и теми же данными API. Как я могу гарантировать, что определенные данные API попадают в необходимую переменную субъекта behvior. Вот мой код
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { environment } from 'environments/environment';
import { IStatusRepository } from '../interfaces/istatus-repository';
import { HttpClient } from '@angular/common/http';
import { IZone } from '../interfaces/izone';
@Injectable({
providedIn: 'root'
})
export class SystemStorageService {
statusReposDatasource: BehaviorSubject<IStatusRepository[]> = new BehaviorSubject([]);
zonesDatasource: BehaviorSubject<IZone[]> = new BehaviorSubject([]);
statusRepos = this.statusReposDatasource.asObservable();
zones = this.zonesDatasource.asObservable();
constructor(
private http:HttpClient
) {}
setStatusRepos() {
this.http.get<IStatusRepository[]>(`${environment.url}/StatusRepositories`).subscribe(res => {
console.log(res);
this.statusReposDatasource.next(res);
});
this.http.get<IZone[]>(
`${environment.url}/Zones`
).subscribe(val => {
console.log(val);
this.zonesDatasource.next(val);
});
}
}
Результаты