Встречается на собеседованиях • сегодня

В чем разница между Observable Hot и Cold

Cold Observable начинает выполнение только при подписке (subscribe). Каждый подписчик получает независимый поток данных. Пример: HTTP-запросы.

typescript
import { Observable } from 'rxjs';

const cold$ = new Observable(observer => {
  console.log('Cold: HTTP request');
  observer.next(Math.random());
});

cold$.subscribe(console.log); // Запускает запрос
cold$.subscribe(console.log); // Запускает ещё один запрос

text

**Hot Observable** уже выполняется независимо от подписок. Подписчики получают данные, начиная с момента подписки. Пример: события DOM.

```typescript
import { fromEvent } from 'rxjs';

const hot$ = fromEvent(document, 'click');

hot$.subscribe(console.log); // Ловит клики с момента подписки
setTimeout(() => {
  hot$.subscribe(console.log); // Ловит клики только после этой подписки
}, 5000);

Разница: Cold — ленивый и независимый для каждого подписчика, Hot — активный и общий для всех. Можно сделать Hot из Cold с помощью share() или publish().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы