我创建一个按钮来测试数据库。它返回一组数据。当我在initState函数中执行操作时,得到的是null。
@override
void initState() {
db.queryData('username').then((val) {
_userAuthData = val;
});
super.initState();
print(_userAuthData);
}```
** both async/await and future.then() works the same in button on press function.
答案 0 :(得分:2)
您可以通过使用Future来对init方法执行异步功能
@override
void initState() {
super.initState();
Future.delayed(Duration.zero,()async{
final _userAuthData=await db.queryData('username');
print(_userAuthData);
});
});