Как часть моей службы аутентификации, я пытаюсь отобразить Stream from the
firebase_auth package to a realtime listener
Stream` соответствующего пользователя в firestore.
Чтобы добиться этого, я использую switchMap
преобразователь потока из пакета rxDart
.
Однако значение, возвращаемое из FirebaseAuth.instance.onAuthStateChanged
, может быть null
, и в этом случае я бы хотел, чтобы результирующий поток также возвратил null
.
Дело в том, что я не уверен, как этого добиться. Должен ли я вернуть единственное значение Stream of value null
? Если да, то как?
Я попытался вернуть функцию генератора async* {yield null};
, но она не сработала.
_userStream = FirebaseAuth.instance.onAuthStateChanged
.transform(SwitchMapStreamTransformer((FirebaseUser user) {
// user can be null here what should I return ?
return () async* {yield null}; // this doesnt work
return FirestoreUserService.getUserStreamFromId(user.uid);
}));
Ура! :)