Вы пытаетесь вернуть значение асинхронной наблюдаемой синхронно. Таким образом, к моменту, когда getProjectById
выдает значение, функция getProjectDetails
уже завершена и ничего не возвращает.
Вы должны вернуть сам Observable и подписаться на него там, где вам нужны его значения, или даже лучше использовать асинхронный канал -> https://angular.io/api/common/AsyncPipe
Так что getProjectDetails
будет выглядеть так:
public getProjectDetails(projectId: number): Observable<IProject> {
return this.testStationService.getProjectById(projectId);
}