RxJS ReplaySubject – emitowanie wartości dla nowych obserwatorów

RxJS ReplaySubject – emitowanie wartości dla nowych obserwatorów

ReplaySubject to świetny wybór gdy potrzebujemy pobrać wartości wyemitowane zanim zarejestrowaliśmy nowego obserwatora. W poniższym przykładzie (który używa Subject) nie ma dostępu do poprzednich wyemitowanych wartości:

const subject = new Subject<boolean>
subject.next(true)

let testValue //testValue = undefined
subject.subscribe((v) => testValue = v) //testValue nadal równa się undefined

subject.next(true) //Dopiero teraz została nadana wartość zmiennej testValue

ReplaySubject rozwiązuje ten problem:

const subject = new ReplaySubject<boolean>(1)
replaySubject.next(true)

let testValue //testValue = undefined
replaySubject.subscribe((v) => testValue = v) //testValue równa się true

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *