问题标签 [dart-stream]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
flutter - Flutter 自动更新与性能对比
案例场景:
我有一个通过使用端点显示在屏幕上的人员列表。
当用户仍在同一屏幕上时,我希望每当有新人添加到数据库时列表自动刷新(不使用刷新指示器刷新列表)。
我通过使用 StreamBuilder 和一个调用端点来检索人员列表并使用 ValueNotifier 来跟踪以进行相应更新的流方法来管理这一点。
但我相信这可以使用没有流的 Riverpod 来实现。任何线索将不胜感激。
下面是我的流实现:
flutter - 流侦听器和流控制器异步“交谈”未按预期工作
我试图从模板颤动代码开始了解如何使用流。
我得到的输出是
我期待这样的事情:
这是我用来理解 Streams 的代码......我做错了什么?
导入“包:流/speaker.dart”;
导入“包:流/listener1.dart”;
flutter - 在 Flutter 中构建 Streams 时出现编译时错误
我正在尝试将此列表作为流返回,但出现以下错误:
下面的清单是导致这些错误的代码:
我还想知道如何在 中声明它MultiProviders
,我是否使用Provider.of
我是 Streams 的新手。这个错误的原因是什么?
dart - SetState 调用阻止访问由流更新的字段
我正在制作条形码扫描功能。相机进给正在设置_currentImage
。
后来我takePhoto
从按钮按下处理程序调用并调用'setState'为空......
我怀疑这可能是由于一些潜在的飞镖行为,或者有某种错误?为什么setState
呼叫阻止我访问_currentImage
- 或为什么被阻止设置imageStream()
?
flutter - Dart超时后如何取消订阅原始流?
我有一个广播流,我用超时订阅它:
问题是timeout()
创建另一个流(s
),当我取消订阅或出现超时时,它不会取消原始流(originBroadcast
)。是否有可能做到这一点?
flutter - 产生订阅流的结果
我是 Dart 流的初学者。我有一个方法应该使用connectivity_plus包返回连接结果或异常。
目前,在连接流订阅内发生新事件后,“yield right(_result)”语句不会产生任何内容。我应该如何重写代码,以便每次有连接状态更新时,流都会产生结果或失败?
flutter - 在函数返回值之前等待流完成
上面的代码在本地存储中查找视频文件。如果文件不存在,它会继续从谷歌驱动器下载它。然后在将文件转换为 8 位无符号整数列表后保存下载的文件。
上面代码的问题在于它在流完成之前返回了未更改的变量 medias(Media 列表)。我希望在将新下载的文件添加到列表(媒体)之前,该函数不应返回值。这有可能吗?
flutter - 扑。这个流订阅会被取消吗?
我正在 Flutter 中开发一个应用程序,在一个实例中,使用流订阅。我对内存泄漏有些担心,因为我不确定我的 close() 方法是否会被调用。
以前这不是问题,但由于更新了flutter_bloc,文件的结构已经改变。
以前我的代码如下所示:
您可以看到 mapEventToState 的开头出现在构造函数的右括号之后。
目前,随着flutter_bloc 7.3的更新,我的代码如下所示:
mapEventToState 被替换为“on”,正如您所见,它是在构造函数之后定义的,与 streamsubscription 实例位于同一块中。我的代码可以工作并且这些事件会触发,但是由于这种新结构,我的 close 方法现在位于底部。谁能告诉我这个方法是否会被调用?
我已经在其中放置了打印语句,但它们似乎永远不会打印,但即使在以前的版本中,close() 中的打印语句也不会打印。有人知道在这个新的代码结构中是否会调用 close() 吗?
flutter - flutter getx web sockets - 要级联到提供者和控制器的流数据
目标很简单
- Flutter 应用程序通过 websockets 调用 graphql api
- 应用程序视图调用控制器,控制器调用提供者,提供者通过 websockets 或 HTTP api 套接字调用调用 AWS appsync api
- 我们不时从后端通过 websockets 接收来自 appsync api 或 HTTP api 套接字调用的数据流
- 流需要级联回提供者,然后到控制器(这是关键步骤)
- 控制器(不是提供者)将更新 obs 或反应变量,使 UI 反映更改
问题:数据是通过调用者中的 websockets 接收的,但从未作为流传递回提供者或控制器以反映更改
示例代码
实际调用者 orderdata.dart
在提供者 orderprovider.dart
在控制器 homecontroller.dart
homeview 调用 homecontroller
dart - 使用“Process.start”时如何处理不需要的标准输出?
从以下文档Process.start
:
用户必须读取所有以开头的进程
stdout
和流上的数据。如果用户没有读取流上的所有数据,则不会释放底层系统资源,因为仍有待处理的数据。stderr
Process.start
如果我对这些流之一没有用处,我应该怎么做才能确保正确释放所有系统资源?