Возврат значения из Observable (Angular)

Подскажите почему возвращает Observable, а не массив данных.

Компонент сервиса: введите сюда описание изображения

Компонент вызова сервиса из компонента:

введите сюда описание изображения

Возвращает Observable, хотя по идее должно возвращать массив данных:

введите сюда описание изображения


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

Автор решения: Трипольский Пётр

Прочитайте про Futures and promises pattern. Observable позволяет дождаться асинхронных данных. В данном случае я бы предложил привести Observable к Promise и применить оператор await


...

async searchVideo() {
  const result = await this.searchService.getVideoFromJson(this.searchTitle).toPromise();
  console.log({result});
}

...

Смысл в том, что Observable подразумевает наличие активного http запроса и ожидания (в вашем случае), а не самих данных. Подобная семантика позволяет не прерывать исполнение программы, пока данные качаются из интернета

→ Ссылка