Flutter 在关闭结束前检查流是否为空

Flutter check if stream is empty before close end

我正在使用 BehaviorSubject 作为流控制器。

在我的一个函数中,我想 .add 更多项目,以防 Stream 没有事件。

  @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属性returns一个值,以防 Stream 结束。我想在 Stream 仍然是 运行.

时检查它

我该怎么做?

BehaviorSubject supports hasValue.

在上述情况下,请改用此行:

if (_pollOverviewStreamController.hasValue) return;