【发布时间】:2020-01-26 23:03:50
【问题描述】:
我正在使用 Angular 8。
我在服务类中创建了一个名为getUserInfo() 的函数,该函数返回有关使用云服务 Firestore 的用户的信息。
问题是,当我在服务类中显示结果时,它已定义并且可以完美运行,但在组件内部,结果是未定义的。
我想我知道错误是什么:当我在组件内部调用函数时,它返回undefined,因为该函数需要一些时间从数据库中检索数据,但我不知道如何解决它还是改用什么?
RxJS 修复了吗?
我已经尝试过路由器解析器,但也没有用。
这是我在服务类中使用的函数
getUserInfo() {
this.db.collection('users').doc(`${this.cookie.get("id")}`).ref.get().then(doc => {
return doc.data()
})}
以下是我要使用服务类功能的组件:
import { Component, OnInit } from '@angular/core';
import { AuthService } from '../auth/auth.service';
@Component({
selector: 'app-super-admin',
templateUrl: './super-admin.component.html',
styleUrls: ['./super-admin.component.css']
})
export class SuperAdminComponent implements OnInit {
user;
constructor(private authService: AuthService) { }
ngOnInit() {
this.user = this.authService.getUserInfo();
}
}
【问题讨论】:
-
你是否在组件视图中尝试过异步管道 {{ user |异步 }}
-
@Adi,是的,但它仍然给我未定义的错误
标签: angular undefined angular8 ngoninit