我有一个LectureRepository
由LectureRepositoryImpl
. LectureRepositoryImpl
初始化SharedPreferences sharedPreferences
为
LectureLocalDataSourceImpl({@required this.sharedPreferences})
现在我想使用 Riverpod 访问存储库,所以我这样做:
FutureProvider<LectureLocalDataSource>(
(ref) async {
return LectureLocalDataSourceImpl(sharedPreferences: await SharedPreferences.getInstance());
},
);
但现在lectureRepositoryProvider
,我读到了lectureLocalDataRepositoryProvider
我在 value 中得到了一个 AsyncValue localDataSource
,我不能在这里分配它:
final lectureRepositoryProvider = FutureProvider<LectureRepository>((ref) async {
final localDataSource = ref.read(lectureLocalDataRepositoryProvider);
return LectureRepositoryImpl(localDataSource: localDataSource);
});
我应该如何处理 AsyncValue?