我使用BehaviorSubject
作为流控制器。
在我的一个函数中,我想只在流为空的情况下.add
更多的项目。
@override
Future<void> fetchNextOverviewPolls() async {
if (await _pollOverviewStreamController.isEmpty) return; // My Problem
final lastDoc = await _pollOverviewStreamController.last;
final querySnapshot =
await _overviewPollsRef.startAfterDocument(lastDoc).limit(5).get();
for (final doc in querySnapshot.docs) {
_pollOverviewStreamController.add(doc);
}
}
isEmpty属性在流结束时返回一个值。我想在流还在运行时检查它。
我该怎么做?
BehaviorSubject支持hasValue。
在上面的例子中,用这一行代替:
if (_pollOverviewStreamController.hasValue) return;