如何在不使 main() 异步的情况下将异步对象注册到 get_it 包?
How can I register the async object to get_it package without making the main() async?
我想在 get_it 包中注册 SharedPrefrences 对象,以便从应用程序周围访问它,而不是使 main() 异步。
- 这样做对吗?
- 我该怎么做?
我就是这样做的,但是它抛出了一个异常。代码:
appLocator.registerLazySingletonAsync<SharedPreferences>(() async {
final sh = await SharedPreferences.getInstance();
return sh;
});
异常:
Unhandled Exception: 'package:get_it/get_it_impl.dart': Failed
assertion: line 342 pos 14: 'instanceFactory.isReady': You tried to
access an instance of SharedPreferences that was not ready yet
你有什么理由不想让你的主异步吗?使您的主要方法异步没有错。它在您将看到的大多数项目中完成。
我是一名专业的 Flutter 开发人员并且使用get_it并且它的影响为零,所以我不明白你为什么不这样做。
我想在 get_it 包中注册 SharedPrefrences 对象,以便从应用程序周围访问它,而不是使 main() 异步。
- 这样做对吗?
- 我该怎么做?
我就是这样做的,但是它抛出了一个异常。代码:
appLocator.registerLazySingletonAsync<SharedPreferences>(() async {
final sh = await SharedPreferences.getInstance();
return sh;
});
异常:
Unhandled Exception: 'package:get_it/get_it_impl.dart': Failed assertion: line 342 pos 14: 'instanceFactory.isReady': You tried to access an instance of SharedPreferences that was not ready yet
你有什么理由不想让你的主异步吗?使您的主要方法异步没有错。它在您将看到的大多数项目中完成。
我是一名专业的 Flutter 开发人员并且使用get_it并且它的影响为零,所以我不明白你为什么不这样做。