【发布时间】:2021-06-11 12:40:13
【问题描述】:
我的重定向有问题。 如果我的用户是我的 registerscreen 的新用户,我想重定向我的用户,如果它不是我的 topnavigationscreen 的新用户。
为了检查用户是否存在,我想从我的注册屏幕中创建的“cloud firestore”获取一些信息。 但我无法让他们回来。
我的小代码:
void registergoogleUser() async {
await _userProvider
.registergoogleUser( _scaffoldKey)
.then((response) async {
if (response is Success<UserCredential>) {
Future<DocumentSnapshot> getUser(String userId) async {
final FirebaseFirestore instance = FirebaseFirestore.instance;
print (await instance.collection('users')?.doc(userId)?.get());// for test
(await instance.collection('users')?.doc(userId)?.get());
}
print (getUser);
if (await getUser != null) {
Navigator.of(context).pushNamedAndRemoveUntil(
TopNavigationScreen.id, (route) => false);
} else {
Navigator.pop(context);
Navigator.pushNamed(context, RegisterScreen.id);
}
}});
}
但我的“运行”返回:
[ERROR:flutter/lib/ui/ui_dart_state.cc(186)] 未处理的异常:错误状态:无法获取 DocumentSnapshotPlatform 上不存在的字段
和我的
print (instance.collection('users').doc(userId).get());
返回这个:
I/flutter (25671):闭包:(字符串)=> 未来
您可以在此处查看我的代码(用于变量和其他):
【问题讨论】:
标签: flutter dart google-cloud-firestore google-signin