2017-01-03 3 views
0

Manchmal brauchen wir eine Dummy-beobachtbaren weil die RxJS API nicht in bestimmten Fällen zu akzeptieren null oder nicht definiert scheint, zum Beispiel:RxJS5 - Dummy-Observablen

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 
    ); 

hat RxJS5 haben einige beobachtbare dummy akzeptiert, dass nur sofort abfeuert oder sollten wir eine davon benutzen Sie einfach:

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

Es wäre schön, wenn die RxJS5 API uns gab eine Attrappe beobachtbare akzeptiert, wie:

Rx.Observable.dummy() 

oder so ähnlich. Kennt jemand die Best Practice, wenn es um Dummy Observables geht?

+1

Ist ['Rx.Observable.of'] (http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#static-method-of) was Sie suchen? – cartant

+0

ist es nur Rx.Oservable.of() mit einem leeren Argument? – Olegzandr

Antwort

2

Wenn Sie eine beobachtbare möchten, die sofort abgeschlossen ist und nichts abgibt, verwenden empty:

let dummy = Rx.Observable.empty(); 

Wenn Sie eine beobachtbare wollen, die einen Wert abgibt und vervollständigt dann verwenden of:

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

richtig, aber ich denke, ich möchte eine Observable, die onNext() und OnCompleted() ausgelöst wird, – Olegzandr

+0

Updated. Verwenden Sie 'of', wenn Sie vor dem Abschluss einen Wert ausgeben möchten. – cartant

+0

danke ich werde * Observable.of * wie du verwenden, schätze es! – Olegzandr