函数在赋值之前返回 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的主要内容,如果未能解决你的问题,请参考以下文章