2016-09-04 8 views
35

Я пытаюсь обвести голову вокруг наблюдаемых. Мне нравится, как наблюдаемые решают проблемы разработки и чтения. Как я читал, выгоды огромны.Конвертировать обещание к наблюдаемому

Наблюдения на http и коллекциях кажутся прямолинейными. Как я могу преобразовать что-то подобное в наблюдаемый шаблон.

Это из моего компонента службы, чтобы обеспечить аутентификацию. Я бы предпочел, чтобы это работало как другие службы http в Angular2 - с поддержкой обработчиков данных, ошибок и завершения.

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; 
// ... 
}); 

Любая помощь здесь была бы очень признательна. Единственное альтернативное решение, которое у меня было, - создать EventEmitters. Но я предполагаю, что это ужасный способ делать вещи в услугах раздела

ответ

69

попробовать это:

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

вы можете найти полную ссылку на fromPromise оператор here

+25

'импорт«rxjs/добавить/наблюдаемый/fromPromise» ; ' –

+5

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

Смежные вопросы