BACK
ReferenceshareReplay
Reference · 38

shareReplay

shareReplay

rxjs.dev

Share + кеш последних N значений для будущих подписчиков.

Сигнатура

shareReplay(config: { bufferSize: number; refCount: boolean; windowTime?: number }): MonoTypeOperatorFunction

Что делает

Как share, но использует ReplaySubject(bufferSize) — поздние подписчики мгновенно получают последние bufferSize значений. Параметр refCount: true автоматически отписывает источник при нуле подписчиков. windowTime ограничивает «свежесть» кешированных значений.

Когда использовать

Кеш HTTP-ответов (профиль пользователя, конфиг, фичи), общий стрим состояния (theme$, currentRoute$), любые данные, которые «один раз посчитали — раздаём всем».

Подводный камень

Без refCount: true источник может остаться «висящим» после отписки всех подписчиков. В Angular это приводит к утечкам при shareReplay(1) без конфига.

См. также

share, ReplaySubject, BehaviorSubject

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...