Ответ
Observable — это паттерн, представляющий поток данных, который можно наблюдать. Он позволяет асинхронно обрабатывать события, значения или ошибки. В JavaScript реализуется через библиотеки, например, RxJS.
Пример:
import { Observable } from 'rxjs';
const observable = new Observable(subscriber => {
subscriber.next(1);
subscriber.next(2);
setTimeout(() => {
subscriber.next(3);
subscriber.complete();
}, 1000);
});
observable.subscribe({
next: value => console.log(value),
complete: () => console.log('Done')
});
// Вывод: 1, 2, (через 1 сек) 3, 'Done'
Особенности:
- Ленивые вычисления (выполняется только при подписке)
- Множественные подписки
- Операторы для трансформации (map, filter и т.д.)
- Отмена через unsubscribe()