flutter - Riverpod:有人知道在 StreamProvider 中加载 AsyncValue 的模式吗?
问题描述
aStreamProvider
问题是在加载的情况下要返回什么。返回的必须是 a Stream
,但实际上代码需要等待并且什么都不发送,直到aStreamProvider
加载(bc 需要compute_something
)
final aStreamProvider = StreamProvider((ref) => Stream.empty()); // just an example - imagine something complicated
final bStreamProvider = StreamProvider<int>((ref) {
final myAsyncValue = ref.watch(aStreamProvider);
return myAsyncValue.when(data: compute_something,
loading: what_to_do_here,
error: (_, __) => throw Exception());
}
谢谢
解决方案
你应该 return AsyncValue.loading()
,因为在内部流加载时有效,你也是。
推荐阅读
- android - 从 Android DataStore 检索数据并保存到全局变量
- java - 如何将 char 序列替换为 "\n"
- java - 如何将一个包中的类导入另一个包中的另一个类?
- python - 以表格形式打印的 csv 文件内容
- python - 如何从不同的目录中选择每 20 个文件,Python?
- python - aioredis 任务已销毁,但处于待处理状态
- html - 登录:1 GET http://localhost:3000/manifest.webmanifest 404(未找到)
- r - 闪亮的展示和计划
- javascript - 有没有办法更新输入字段以在缺少值时在它们周围有一个红色边框
- javascript - __dirname 在使用 pkg 打包我的 NodeJs 应用程序时停止工作