Angular服务在构造函数中等待Observable

时间:2017-08-07 18:52:32

标签: angular observable

我有一个使用此构造函数的Angular 2服务:

constructor(public fireAuth: AngularFireAuth)
{
    console.log('1');
    fireAuth.authState.subscribe(user =>
    {
        console.log('2');
        this.user = user;
    });
    console.log('3');
}

当它被实例化时,日志顺序是1,3和2,因为第二个日志在Observable中。我无法使用async/await,因为它位于服务constructor中。有没有办法让这个调用同步?

1 个答案:

答案 0 :(得分:0)

您需要使用完整的回调;

console.log('1');
fireAuth.authState.subscribe(
  user => {
      console.log('2');
      this.user = user;
  },
  error => console.error(error),
  () => {
      console.log('3');
  });
相关问题