我有一个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,并且显示错误: 消息:“用户未定义”。
在同一流上进行双重收听是否有问题?