问题标签 [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.

0 投票
0 回答
42 浏览

flutter - Flutter 自动更新与性能对比

案例场景:

  1. 我有一个通过使用端点显示在屏幕上的人员列表。

  2. 当用户仍在同一屏幕上时,我希望每当有新人添加到数据库时列表自动刷新(不使用刷新指示器刷新列表)。

  3. 我通过使用 StreamBuilder 和一个调用端点来检索人员列表并使用 ValueNotifier 来跟踪以进行相应更新的流方法来管理这一点。

  4. 但我相信这可以使用没有流的 Riverpod 来实现。任何线索将不胜感激。

下面是我的流实现:

0 投票
2 回答
432 浏览

flutter - 流侦听器和流控制器异步“交谈”未按预期工作

我试图从模板颤动代码开始了解如何使用流。

我得到的输出是

我期待这样的事情:

这是我用来理解 Streams 的代码......我做错了什么?

导入“包:流/speaker.dart”;

导入“包:流/listener1.dart”;

0 投票
1 回答
31 浏览

flutter - 在 Flutter 中构建 Streams 时出现编译时错误

我正在尝试将此列表作为流返回,但出现以下错误:

下面的清单是导致这些错误的代码:

我还想知道如何在 中声明它MultiProviders,我是否使用Provider.of

我是 Streams 的新手。这个错误的原因是什么?

0 投票
1 回答
12 浏览

dart - SetState 调用阻止访问由流更新的字段

我正在制作条形码扫描功能。相机进给正在设置_currentImage

后来我takePhoto从按钮按下处理程序调用并调用'setState'为空......

我怀疑这可能是由于一些潜在的飞镖行为,或者有某种错误?为什么setState呼叫阻止我访问_currentImage- 或为什么被阻止设置imageStream()

0 投票
1 回答
56 浏览

flutter - Dart超时后如何取消订阅原始流?

我有一个广播流,我用超时订阅它:

问题是timeout()创建另一个流(s),当我取消订阅或出现超时时,它不会取消原始流(originBroadcast)。是否有可能做到这一点?

0 投票
0 回答
26 浏览

flutter - 产生订阅流的结果

我是 Dart 流的初学者。我有一个方法应该使用connectivity_plus包返回连接结果或异常。

目前,在连接流订阅内发生新事件后,“yield right(_result)”语句不会产生任何内容。我应该如何重写代码,以便每次有连接状态更新时,流都会产生结果或失败?

0 投票
1 回答
43 浏览

flutter - 在函数返回值之前等待流完成

上面的代码在本地存储中查找视频文件。如果文件不存在,它会继续从谷歌驱动器下载它。然后在将文件转换为 8 位无符号整数列表后保存下载的文件。

上面代码的问题在于它在流完成之前返回了未更改的变量 medias(Media 列表)。我希望在将新下载的文件添加到列表(媒体)之前,该函数不应返回值。这有可能吗?

0 投票
1 回答
54 浏览

flutter - 扑。这个流订阅会被取消吗?

我正在 Flutter 中开发一个应用程序,在一个实例中,使用流订阅。我对内存泄漏有些担心,因为我不确定我的 close() 方法是否会被调用。

以前这不是问题,但由于更新了flutter_bloc,文件的结构已经改变。

以前我的代码如下所示:

您可以看到 mapEventToState 的开头出现在构造函数的右括号之后。

目前,随着flutter_bloc 7.3的更新,我的代码如下所示:

mapEventToState 被替换为“on”,正如您所见,它是在构造函数之后定义的,与 streamsubscription 实例位于同一块中。我的代码可以工作并且这些事件会触发,但是由于这种新结构,我的 close 方法现在位于底部。谁能告诉我这个方法是否会被调用?

我已经在其中放置了打印语句,但它们似乎永远不会打印,但即使在以前的版本中,close() 中的打印语句也不会打印。有人知道在这个新的代码结构中是否会调用 close() 吗?

0 投票
1 回答
200 浏览

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

0 投票
0 回答
14 浏览

dart - 使用“Process.start”时如何处理不需要的标准输出?

从以下文档Process.start

用户必须读取所有以开头的进程stdout和流上的数据。如果用户没有读取流上的所有数据,则不会释放底层系统资源,因为仍有待处理的数据。stderrProcess.start

如果我对这些流之一没有用处,我应该怎么做才能确保正确释放所有系统资源?