函数在赋值之前返回 null

Posted

技术标签:

【中文标题】函数在赋值之前返回 null【英文标题】:function returns null before assigning value 【发布时间】:2020-09-08 22:16:15 【问题描述】:

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

Future<Admin> loginVerification() async 
  Admin admin;
  _databaseReference.child("admin").onValue.listen((event)
   admin= Admin.fromSnapshot(event.snapshot);
 );
 return admin;

【问题讨论】:

查看dart.dev/codelabs/async-await 使用await loginVerification()loginVerification().then(...) 函数调用期间? 先生,我按照你说的试过了,但它只返回 null .. var event = await _databaseReference.child("admin").onValue.first; return Admin.fromSnapshot(event.snapshot); 【参考方案1】:

你不能在这里等待作为不返回 Future 的方法,你必须这样做的方式就像

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

【讨论】:

是的先生,有什么解决办法吗? 在这一行下面做你的事情 admin= Admin.fromSnapshot(event.snapshot); 先生,我正在使用 bloc 来管理状态,并且我必须将值返回给 bloc,以便根据验证通知应用程序关于下一个状态。 我必须返回一些值,但如果在验证之前先返回 null @YogishShenoy:编辑了答案,希望对你有用

以上是关于函数在赋值之前返回 null的主要内容,如果未能解决你的问题,请参考以下文章

mysql 变量case when 返回值为null

php ,空值(Null)

null 和 undefined 的区别

javascript null与undefined的区别

js null 和 undefined

为什么类的拷贝构造参数加引用重载赋值函数的返回值和参数加引用