【发布时间】:2021-06-27 18:52:53
【问题描述】:
我想使用 Riverpod 中的 StreamProvider 实时收听 firebase 集合,并将值读入另一个 Provider,但我没有尝试过任何工作。
/// StreamProvider
final firstProvider = StreamProvider.autoDispose((ref) async* {
final stream = FirebaseFirestore.instance
.collection('someCollection')
.orderBy('timestamp', descending: true)
.snapshots()
.distinct();
await for (final value in stream) {
print('value: $value');
yield value;
}
}
final secondProvider = FutureProvider.autoDispose((ref) async {
final first_provider = await ref.watch(firstProvider);
print(first_provider .whenData((value) => value.docChanges.length));
...
});
我认为通过使用 docChanges 我只会获得新数据,但相反,它会在每次重建时重复。
关于我做错了什么有什么想法吗?
【问题讨论】: