AngularDart + Firebase onAuthStateChanged в разных компонентах показывает нулевого пользователя - PullRequest
0 голосов
/ 23 января 2019

У меня есть 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: "пользователь не определен".

Что-то не так с этим двойным прослушиванием в том же потоке?

...