Невозможно определить правильный EventEmitter или наблюдаемый синтаксис в Angular2 Services

Мне трудно найти много примеров / руководств по использованию наблюдаемых в сервисе Angular2. Есть вещи для связывания HTML-шаблонов сEventEmitter но это не кажется правильным для службы.

Одна из главных движущих тем - уход от Promises в Angular2, но я не могу понять, правильный ли новый синтаксис.

Что я делаю

у меня естьСервис FirebaseAuth которые могут быть внедрены в другие услуги или компоненты.У меня есть функция, которая делает асинхронный вызов Firebase, в моем примере, чтобы создать пользователяЯ хочу вернутьНаблюдаемый (чтобы заменить обещание) что другие службы могут использовать для других целей, таких как создание профиля, когда это решается

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

Мой сервис:

/*DS Work on firebase Auth */
import {Injectable} from 'angular2/angular2';

@Injectable()
export class FirebaseAuth {
  ref = new Firebase('https://myfirebase.firebaseio.com');
  //check if user is logged in
  getAuth(): any {
    return this.ref.getAuth();
  }

  //register a new user
  createUser(user: any): Promise<any> {
    return new Promise((resolve, reject) => {
      this.ref.createUser(user, function(error, userData) {
        if (error) {
          reject(error);
          console.log('Error creating user:", error');
        } else {
          resolve(userData);
          console.log('Successfully created user account with uid:', userData.uid);
        }
       })  
    })
  }
};

Как бы я переписал это, чтобы использовать Observable и / или EventEmitter?

Ответы на вопрос(1)

Ваш ответ на вопрос