2016-09-04 15 views
35

Próbuję owinąć głowę wokół obserwowalnych obiektów. Uwielbiam sposób, w jaki obserwowalne rozwiązania rozwiązują problemy związane z rozwojem i łatwością odczytu. Jak czytam, świadczenia są ogromne.Konwersja obietnicy do zaobserwowania

Observables na http i kolekcje wydają się być proste. Jak mogę przekonwertować coś takiego do obserwowalnego wzorca?

To jest z mojego komponentu usługi, aby zapewnić uwierzytelnianie. Wolałbym, aby działało jak inne usługi http w Angular2 - z obsługą procedur obsługi danych, błędów i uzupełnień.

firebase.auth().createUserWithEmailAndPassword(email, password).then(function(firebaseUser) { 
// do something to update your UI component 
// pass user object to UI component 
}).catch(function(error) { 
// Handle Errors here. 
var errorCode = error.code; 
var errorMessage = error.message; 
// ... 
}); 

Każda pomoc tutaj jest bardzo cenna. Jedynym alternatywnym rozwiązaniem, jakie miałem, było stworzenie EventEmitters. Ale myślę, że to straszny sposób, aby robić rzeczy w dziale usług

Odpowiedz

69

spróbuj tego:

var subscription = Observable.fromPromise(firebase.auth().createUserWithEmailAndPassword(email, password)); 
subscription.subscribe(firebaseUser => /* Do anything with data received */, 
         error => /* Handle error here */); 

można znaleźć pełną odniesień do fromPromise operatora here

+25

importu ' 'rxjs/dodać/obserwowalne/fromPromise' ; ' –

+5

' import {Observable} from "rxjs/Observable"; ':) – Luckylooke

Powiązane problemy