我有一个使用此构造函数的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
中。有没有办法让这个调用同步?
答案 0 :(得分:0)
您需要使用完整的回调;
console.log('1');
fireAuth.authState.subscribe(
user => {
console.log('2');
this.user = user;
},
error => console.error(error),
() => {
console.log('3');
});