我想从Firestore创建DocumentSnapshots
流,可以从另一个流中提供文档ID。
只要此ID发生更改(例如,登录或注销后),我的AuthRepository就会发出用户ID。
让我们说它看起来像这样:
Stream<String> get userId => _firebaseAuth.onAuthStateChanged.map((user) {
if (user != null)
return user.uid;
else {
return null;
}
});
然后我想使用此流从Firestore获取DocumentSnapshot
流,例如以_firestore.document('users/$id').snapshots()
的形式:
// We have access to Firestore here
final Firestore _firestore;
Stream<DocumentSnapshot> get _usersSnapshotsStream {
// What should I use here? asyncExpand? map? transform?
return _authRepository.userId.map((id) {
// I want to access _firestore.document('users/$id').snapshots()
});
}
我应该在_usersSnapshotsStream
中执行什么流操作,以始终获取从其他流提供的给定用户ID的最新文档?