Exemplo n.º 1
0
        protected override IDisposable SubscribeCore(IObserver <T> observer)
        {
            if (_subject.Value != null)
            {
                observer.OnNext(_subject.Value !);

                return(Disposable.Empty);
            }

            // Keep taking values until a non-null value is received and only emit that one.
            return(_subject.TakeUntil(value => value != null).LastAsync().Subscribe(value => {
                Debug.Assert(value != null, "value != null");

                observer.OnNext(value !);
            }, observer.OnError, observer.OnCompleted));
        }