【发布时间】:2020-12-03 18:41:06
【问题描述】:
我在 git 上查看 firebase auth 的代码,它工作正常,但是当我升级依赖项时出现问题,特别是 rxdart 从 ^0.21.0 到当前 (^0.24.1),我明白了其他引用的question
Observable 可以被 Stream 替换 在接受的答案中。我可以改变
Observable<FirebaseUser> user; // firebase user
..
user = Observable(_auth.onAuthStateChanged);
到
Stream<FirebaseUser> user; // firebase user
..
user = _auth.onAuthStateChanged;
但是
Observable<Map<String, dynamic>> profile; // custom user data in Firestore
..
profile = user.switchMap((FirebaseUser u) {
if (u != null) {
return _db
.collection('users')
.document(u.uid)
.snapshots()
.map((snap) => snap.data);
} else {
return Observable.just({});
}
});
我试过了
Object profile;
..
user.map( (FirebaseUser u) {
if (u != null) {
return _db
.collection('users')
.document(u.uid)
.snapshots()
.map((snap) => snap.data);
} else {
return Stream.empty();
}
});
但它不会触发监听并且不会读取用户配置文件。
【问题讨论】: