【发布时间】:2018-07-16 15:32:59
【问题描述】:
我在一个使用 firebase (5.2) 的 Angular 项目 (6.0) 中。我正在使用该功能:
firebase.auth().onAuthStateChanged
这个函数返回一个firebase.Unsubscribe,我不掌握。我只知道使用 Observables、Subjects 和 Promise。
我想将此函数用作可观察对象,例如,每当我找回 currentUser 时,我都会订阅它。
到目前为止,我已经尝试将它包装成一个 observable:
auth.service.ts
loadUser() {
return Observable.create((observer: Observer<any>) => {
firebase.auth().onAuthStateChanged(
currentUser => { return currentUser }
)
})
}
每当我启动我的 Angular 应用程序时,我都会订阅:
在 ngOnInit 中:
this.authService.loadUser()
.subscribe(
response => {
console.log("response");
console.log(response);
},
error => {
console.log("error");
console.log(error);
}
)
但订阅永远不会被触发。我没有正确包装 Firebase 的功能。 1. 我真的不明白他们为什么返回 firebase.unsubscribe。 2. 我该如何解决这个挑战?
谢谢
【问题讨论】:
-
代替
currentUser => { return currentUser }试试currentUser => { observer.next(currentUser) }
标签: angular firebase firebase-authentication