flutter - 如何检查是否已经收听了任何活动的流?
问题描述
有什么方法可以检查 Dart/Flutter 中是否有任何活动的 Stream 已经被收听过?
假设在一个屏幕上已经收听了一个 Stream。但是,我需要在另一个屏幕上收听该流。所以我需要检查是否有任何活动流已经被收听过。
解决方案
您必须使用' 方便的getterStreamController
来检查流是否已被收听。StreamController
hasListener
这是要理解的最小示例代码:
StreamController controller = StreamController();
controller.addStream(getNumbersAsStream());
controller.stream.listen((e) => print(e));
if (!controller.hasListener) {
controller.stream.listen((e) => print(e));
} else {
print("Stream has already been listened");
}
推荐阅读
- javascript - 下载从数据 uri 解码的图像 - chrome 扩展
- python - Miniconda3 Linux Python 3.7 64 位,缺少安装程序?
- javascript - ReactJS->如何使用数据库中的信息填充我的状态?
- angular - 仅在发布请求时被 CORS 阻止
- python - 如何在 spaCy 中将双点标记为单独的标记?
- linux - Linux 终端 CAT CUT 命令
- rust - 为什么编译器说该参数没有实现所需的特征?
- unit-testing - Vuejs单元测试无法正确挂载
- ios - 有没有办法知道哪个应用打开了我的 iOS 应用?
- r - 按空行拆分数据框