У меня есть firebase-сервис, у которого есть конструктор, который выглядит следующим образом:
import 'package:firebase/firebase.dart' as fb;
FirebaseService(this._router) : auth = fb.auth() {
auth.onAuthStateChanged.listen(onAuthStateChanged);
this._firestore = fb.firestore();
}
этот сервис вызовет свой обратный вызов onAuthStateChanged, который заполняет пользовательскую переменную и выполняет некоторые другие действия.Пользовательская переменная в этом обратном вызове заполняется нормально.
void onAuthStateChanged(fb.User user) async { ... }
Проблема в том, что у меня также есть обратный вызов внутри моего app_component.dart для onAuthStateChanged:
AppComponent(this.firebaseService, this._router) {
this.firebaseService.auth.onAuthStateChanged.listen(onAuthStateChanged);
}
void onAuthStateChanged(fb.User user) async {... }
Теперь внутри AppComponentвызывается onAuthStateChanged, и он заходит туда, но usr никогда не заполняется, и появляется сообщение об ошибке: message: "пользователь не определен".
Что-то не так с этим двойным прослушиванием в том же потоке?