Что такое Observable в Angular

Ответ

Observable — это объект из библиотеки RxJS, представляющий поток данных, который может асинхронно передавать ноль или более значений. В Angular он часто используется для работы с HTTP-запросами, событиями и другими асинхронными операциями.

Ключевые особенности:

  • Ленивая загрузка (выполняется только при вызове subscribe())
  • Может передавать несколько значений
  • Поддерживает операторы (map, filter и т.д.)
  • Позволяет отменять подписку (unsubscribe())
import { Observable } from 'rxjs';

// Создание простого Observable
const observable = new Observable(subscriber => {
  subscriber.next('Hello');
  subscriber.next('World');
  subscriber.complete();
});

// Подписка
observable.subscribe({
  next: value => console.log(value),
  complete: () => console.log('Done')
});

В Angular часто используется с HttpClient:

this.http.get('/api/data').subscribe(data => {
  this.data = data;
});