Firebase 函数在赋值之前返回null

Firebase 函数在赋值之前返回null,firebase,flutter,dart,flutter-test,Firebase,Flutter,Dart,Flutter Test,您好,有人能帮我解决这个问题吗?该函数不会等到从数据库中提取数据。它只返回空对象.. Future<Admin> loginVerification() async { Admin admin; _databaseReference.child("admin").onValue.listen((event){ admin= Admin.fromSnapshot(event.snapshot); }); return admin; } Future loginVer

您好,有人能帮我解决这个问题吗?该函数不会等到从数据库中提取数据。它只返回空对象..

Future<Admin> loginVerification() async {
  Admin admin;
  _databaseReference.child("admin").onValue.listen((event){
   admin= Admin.fromSnapshot(event.snapshot);
 });
 return admin;
}
Future loginVerification()异步{
行政管理;
_databaseReference.child(“admin”).onValue.listen((事件){
admin=admin.fromSnapshot(event.snapshot);
});
返回管理员;
}

您不能在这里等待,因为方法不会返回未来,您必须这样做

return _databaseReference.child('admin').onValue.firstWhere((element) => Admin.fromSnapshot(event.snapshot)); 

你不能在这里等待,因为方法不会返回未来,你必须这样做

return _databaseReference.child('admin').onValue.firstWhere((element) => Admin.fromSnapshot(event.snapshot)); 


检查此用法
await loginVerification()
loginVerification()。然后(…)
在函数调用期间?先生,我如您所说尝试过,但它只返回null。
var event=await\u databaseReference.child(“admin”).onValue.first;从快照(event.snapshot)返回Admin.fromsapshot检查此用法
await loginVerification()
loginVerification()。然后(…)
在函数调用期间?先生,我如您所说尝试过,但它只返回空值。
var event=await\u databaseReference.child(“admin”).onValue.first;从快照(event.snapshot)返回Admin.fromsapshot是的,先生,有什么解决方案吗?在这行下面是你的东西admin=admin.fromSnapshot(event.snapshot);先生,我使用bloc来管理状态,我必须向bloc返回值,以告知应用程序基于验证的下一个状态。我必须返回一些值,但如果在validation@YogishShenoy:编辑答案,希望这对您有用是的,先生,有什么解决方案吗?在这一行下面是admin=admin.fromSnapshot(event.snapshot);先生,我使用bloc来管理状态,我必须向bloc返回值,以告知应用程序基于验证的下一个状态。我必须返回一些值,但如果在validation@YogishShenoy:编辑了答案,希望对你有用