Почему не получаю данные от сервиса?

Есть репозиторий:

@Injectable()
export class ApplicationExistingRelationShipsRepository {
    private documents: ApplicationExistingRelationShips[] = [];

    constructor(private applicationExistingRelationShipsService: ApplicationExistingRelationShipsService) {
        applicationExistingRelationShipsService.get().subscribe((documents) => {
            this.documents = documents;
        });
    }

    getDocuments() {
        return this.documents;
    }
}

Использую его в компоненте:

constructor(private applicationExistingRelationShipsRepository: ApplicationExistingRelationShipsRepository) {}

ngOnInit() {
   this.documents = this.applicationExistingRelationShipsRepository.getDocuments();
}

Данные в репозитории точно есть и приходят в переменную this.documents.

Почему в компоненте я получаю пустой массив?


Ответы (1 шт):

Автор решения: Dmitriy

Проблема в том, что валью прилетает позже, но думаю проблема к этому времени уже не актуальна. Решением будет создать BehaviourSubject на уровне сервиса, прокидовать после гета инфу в сабжект и подписаться на стороне компоненты.

→ Ссылка