Table of Contents

Class AsyncSubject<T>

Namespace
RxSharp.Subjects
Assembly
RxSharp.dll

A Subject<T> that only emits its last nexted value, and only upon completion. If it errors instead, no value is ever emitted to any subscriber, regardless of what was nexted beforehand. Mirrors rxjs's AsyncSubject.

public sealed class AsyncSubject<T> : Subject<T>, IObserver<T>, IDisposable

Type Parameters

T

The type of values pushed through the subject.

Inheritance
System.Object
AsyncSubject<T>
Implements
IObserver<T>
IDisposable
Inherited Members

Methods

OnCompleted()

Terminates the subject: forwards the last buffered value (if any), then completion, to every current and future subscriber. A no-op if already completed.

public override void OnCompleted()

OnNext(T)

Buffers value as the current "last value" candidate. Never forwarded to subscribers directly -- only OnCompleted() does that.

public override void OnNext(T value)

Parameters

value T

The value to buffer.

Subscribe(IObserver<T>)

Subscribes observer. If the subject already completed, immediately replays its last buffered value (if any) followed by completion; if it already errored, immediately delivers that error (via the base Subscribe(IObserver<T>) behavior); otherwise registers normally.

public override IDisposable Subscribe(IObserver<T> observer)

Parameters

observer IObserver<T>

The observer to subscribe.

Returns

IDisposable

A disposable that unsubscribes observer, or Empty if the subject had already terminated.