2016-01-05 7 views
22

Qual è l'equivalente in RxJS a Promise.resolve? So che posso fare Observable.fromPromise(Promise.resolve(someValue)); ma ci deve essere un modo più pulito.RxJS alternativa a fare un Promise.resolve?

+0

Per aggiungere-up su alexpods risposte, la documentazione Rx per [osservabile] (https://github.com/ReactiveX/rxjs/ blob/master/doc/observable.md) e [observer] (https://github.com/ReactiveX/rxjs/blob/master/doc/observer.md) è davvero illuminante. – Stanislasdrg

risposta

20

Observable.of è quello che state cercando (vedi 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

Quello che trovo incredibilmente confusione è che ci sono 2 librerie con lo stesso nome: https://github.com/Reactive-Extensions/RxJS e https://github.com/ReactiveX/RxJS I "di "il metodo sembra esistere nella variante Microsoft, ma non nell'altra variante. La versione che sto usando (la stessa che viene utilizzata nella quickstart di angular.io) non ha questo operatore. – Davy

+1

@Davy angular2 utilizza https://github.com/ReactiveX/RxJS la versione 5.0 di rxjs (completa riscrittura). Come puoi trovare nei documenti "Questa riscrittura è pensata per avere prestazioni migliori, modularità migliore, stack di chiamate debuggabili migliori, pur rimanendo per lo più compatibili all'indietro, con alcune modifiche che riducono la superficie dell'API." + vogliono seguire [ES7 osservable spec] (https://github.com/zenparsing/es-observable) – alexpods

+0

Hmm, dovrebbe essere lì. Guarda [questo codice sorgente] (https://github.com/ReactiveX/RxJS/blob/676f82d72d2c370b438fbc60caaa604654f97e33/src/add/observable/fromArray.ts#L4) – alexpods