【发布时间】:2021-07-27 11:02:43
【问题描述】:
在运行 dart migrate 之后,我遇到了很多错误,我相信我已经修复了大部分错误,但最后一个对我来说没有意义。
Stream<UserData> get user{
return _auth.authStateChanges()
.asyncMap(_userFromFireBaseUser as FutureOr<UserData> Function(User?));
}
有问题的部分是.asyncMap...部分“as FutureOr<UserData> Function(User?));”是dart migrate添加的。
我遇到的错误是
错误:未定义的类“FutureOr”。 (undefined_class) 和错误: 参数类型“动态函数(用户?)”不能分配给 参数类型'FutureOr Function(User?)'。
也发布其余代码,用于身份验证。
class AuthService extends ChangeNotifier
{
// UserData _currentUser = AuthService();
String? _uid;
String? _email;
String? get getUid => _uid;
String? get getEmail => _email;
final FirebaseAuth _auth = FirebaseAuth.instance;
//Create user ojb based on firebaseuser
UserData? _userFromFireBaseUser(User? user) {
return user != null ? UserData(uid: user.uid) : null;
}
Stream<UserData> get user{
return _auth.authStateChanges()
.asyncMap(_userFromFireBaseUser as FutureOr<UserData> Function(User?));
}
//Get UID
Future getCurrentUID() async
{
final currentUid = await _auth.currentUser!.uid;
return currentUid;
}
//Sign in(anon)
Future signInAnon() async
{
try
{
UserCredential result = await _auth.signInAnonymously();
User? user = result.user;
return _userFromFireBaseUser(user);
}
catch(e) {
print(e.toString());
return null;
}
}
是什么导致了错误?
【问题讨论】:
标签: flutter dart google-cloud-firestore