2016-01-05 7 views
22

Was ist das Äquivalent in RxJS zu Promise.resolve? Ich weiß, ich kann Observable.fromPromise(Promise.resolve(someValue)); tun, aber es muss einen saubereren Weg geben.RxJS Alternative zu einer Promise.resolve?

+0

Um auf alexpods Antworten Add-up, die Rx-Dokumentation [beobachtbar] (https://github.com/ReactiveX/rxjs/ Blob/Master/doc/Observable.md) und [Beobachter] (https://github.com/ReactiveX/rxjs/blob/master/doc/observer.md) ist wirklich aufschlussreich. – Stanislasdrg

Antwort

20

Observable.of ist das, was Sie suchen (siehe this plunk):

// You might need to add this import in RxJS versions earlier than 5 
import 'rxjs/add/observable/fromArray'; 

// ... or this line in RxJS 5+ 
import 'rxjs/add/observable/of'; 

if (me.groups) { 
    return Observable.of(me.groups); 
} 
+0

i unglaublich verwirrend Was finden ist, dass es zwei Bibliotheken mit dem gleichen Namen: https://github.com/Reactive-Extensions/RxJS und https://github.com/ReactiveX/RxJS Die „von "Methode scheint in der Microsoft-Variante zu existieren, aber nicht in der anderen Variante. Die Version, die ich verwende (dieselbe, die im Schnellstart bei angular.io verwendet wird), hat diesen Operator nicht. – Davy

+1

@Davy angular2 verwendet https://github.com/ReactiveX/RxJS seine Version 5.0 von rxjs (vollständige Neuschreibung). Wie Sie es in der Dokumentation finden können "Dieses Neuschreiben soll eine bessere Leistung, eine bessere Modularität, bessere debuggable Call-Stacks bieten, während es größtenteils abwärtskompatibel bleibt, mit einigen brechenden Änderungen, die die API-Oberfläche reduzieren." + Sie wollen folgen [ES7 beobachtbare Spezifikation] (https://github.com/zenparsing/es-observable) – alexpods

+0

Hmm, sollte es da sein. Sehen Sie sich [diesen Quelltext] an (https://github.com/ReactiveX/RxJS/blob/676f82d72d2c370b438fbc60caaa604654f97e33/src/add/observable/fromArray.ts#L4) – alexpods