Ответ
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;
});