2017-01-03 4 views
0

Иногда нам нужны фиктивные наблюдаемыми, поскольку RxJS API, кажется, не принимает нулевой или неопределенным в определенных случаях, например:RxJS5 - фиктивная наблюдаемые

Queue.prototype.eqStream = function ($pauser) { 

    if (!$pauser) { 
     $pauser = Rx.Observable.timer(1); 
    } 

    let $obs = Rx.Observable.zip(
     this.obsEnqueue, 
     pauser // because pauser cannot be null here 
    ); 

делает RxJS5 у некоторых принято фиктивный Наблюдаемого что просто выстреливает сразу или мы должны использовать только один из них:

Rx.Observable.timer(1); 
Rx.Observable.from([0]); 

было бы неплохо, если бы RxJS5 API дал нам принятым фиктивная Observable, как:

Rx.Observable.dummy() 

или что-то в этом роде. Кто-нибудь знает, какая практика подходит к манекенам Observables?

+1

Является ['Rx.Observable.of'] (http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-of), что вы ищете? – cartant

+0

это просто Rx.Oservable.of() с пустым аргументом? – Olegzandr

ответ

2

Если вы хотите наблюдаемое, что немедленно завершается, и ничего не излучает, использовать empty:

let dummy = Rx.Observable.empty(); 

Если вы хотите, наблюдаемые, который излучает значение, а затем завершает, используйте of:

let dummy = Rx.Observable.of('some value'); 
+0

вправо, но я думаю, что я хочу, чтобы наблюдалось, что срабатывает как onNext(), так и onCompleted() – Olegzandr

+0

Обновлено. Используйте 'из', если вы хотите испустить значение до завершения. – cartant

+0

спасибо, я буду использовать * Observable.of * как вы, оцените! – Olegzandr