【发布时间】:2019-10-24 05:28:26
【问题描述】:
我正在尝试使用默认构造函数从 MyDatabase 创建一个单例类,以访问此类上的 getUserDao,实现的代码工作正常,但我有一些其他问题,因为
- 我必须在课外使用
async和await - 我必须使用它
仅在
main函数上,因为 main 方法应该是异步的
例如:
我的单身班级:
class MydbModel {
UserDao _userDao;
MydbModel._(this._userDao);
static Future<MydbModel> create() async => MydbModel._(await initialDatabase());
static Future<UserDao> initialDatabase() async {
var db = await $FloorAppDatabase.databaseBuilder('flutter_database.db').build();
return db.userDao;
}
UserDao get userDao=>_userDao;
}
和主类:
main() async {
var mydbModel = await MydbModel.create();
print(mydbModel.userDao);
}
我必须只在 main 方法上定义它,我不能在 StatefulWidget 或 State<Classname 类上使用它,当我尝试使用这个实例时,我必须将它传递给所有类
如何解决这个问题,以便在应用程序的所有部分中使用简单的类?
例如:
main() {
var userDao = MydbModel.create().then((dao){
return dao;
});
print(userDao);
}
【问题讨论】:
标签: asynchronous flutter dart future