问题标签 [rxdart]

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 投票
1 回答
418 浏览

dart - RX:处理 combineList 中的错误

combinedLatest2在 RxDart 中使用,但我仍然对此感到困惑。这是我的代码:

我有两个主题,其中我引用了它们的流和sink.add函数。在将流分配给它们各自的变量之前,我添加了一个转换器,以确保发出非空字符串,否则将向接收器添加错误。最后,我创建了另一个流,combined,通过结合前两个使用Observable.combineLatest2.

combined流仅在其“子”流发出有效值时才会发出。我在这里面临的问题发生在两个流已经发出有效值,然后都发出无效值,然后其中一个发出有效值时。有趣的是,对于最终的发射,combined流还发射了新更新的流的新值和另一个流的前一个有效值(尽管在前一个有效值之后已经发射了一个无效值)。我能防止这种情况发生吗?换句话说,运行这段代码:

将生成此输出:

我试图实现的输出:

总之,我试图使combined流仅在每个流的最新值有效时才发出。

0 投票
0 回答
568 浏览

dart - 如何从 Streambuilder 快照中解析对象

我的应用程序正在使用 (BLOC) RxDart 和 Streams 来传递信息并动态构建小部件。

但是,如果它将一个简单的 PODO(普通旧 dart 对象)传递到流中,我将无法使用 StreamBuilder 小部件解析它。

我可以将它输出到字符串并打印“对象实例”,但是如果我似乎无法深入了解对象详细信息。

添加到流控制器

使用验证器添加到流

消费流

任何建议或帮助将不胜感激。

0 投票
0 回答
806 浏览

dart - ListView 内的多个 StreamBuilder 无法监听同一个 Stream

我有2个StreamBuilder里面ListView那个听一样Stream的,就是valueStream。在那里面StreamBuilder,我SwitchListTile给 . 添加了新的价值valueStream

这是我的Stream

这是我的ListView

这是Switch1小部件:

这是Switch2小部件:

如果我触摸Switch1小部件,StreamBuilder内部Switch2应该会重建,反之亦然,但这并没有发生。我试图添加UniqueKeySwitch1and Switch2,但这没有帮助。任何建议如何使这项工作?

0 投票
6 回答
6128 浏览

flutter - 基于流的颤振小吃店展示

我目前有一个有趣的问题,与基于用户操作显示小吃店有关。

以上听起来很琐碎,但让我们详细说明:

我有 2 个屏幕:

  1. 员工名单
  2. 添加员工

该应用程序使用 bloc 模式(使用流/rxdart)。

这是我想要的:

  • 用户单击员工列表屏幕中的添加员工 FAB 按钮并导航到添加员工屏幕(工作正常)
  • 用户填写员工详细信息并点击保存
  • 保存后,员工被添加到流中,并更新了员工屏幕列表(工作正常)
  • 用户被导航回员工列表(工作正常)
  • 显示 Snackbar 说明已成功添加员工(这是问题所在)

我尝试了几种实现方式:

添加一个新流(employeeAdded),并且在将员工添加到员工流时,另外将布尔值推送到已添加的员工。

在员工列表中,添加一个新的流构建器,并在构建器逻辑中添加快餐栏。

这会带来各种各样的问题,例如试图在页面已经(重新)构建之前显示小吃栏,等等。

问题是双重的:对于这种情况,什么是好的用户体验实践,对于这个问题,什么是好的解决方案?

(将根据要求发布代码)

谢谢您的帮助!

0 投票
5 回答
1952 浏览

dart - 为 dart 中的每个发射生成一个具有延迟的流

我想从具有特定延迟的 dart 列表中发出流中的值。

因此,从 [1,2,3],这是一个常规列表,我想像1...2...3在单独的事件中一样发出值。

我尝试过这样的事情

但是我得到...123了相反的结果,所以这将整个流延迟了 1 秒,而不是列表中的每个值。

有任何想法吗?谢谢

0 投票
2 回答
4576 浏览

flutter - StreamBuilder snapshot.hasError 在键盘显示/隐藏颤动时显示多次

我有一个登录屏幕,我正在使用 BloC 模式,但是当我单击按钮时验证失败,错误消息被多次调用,因为流构建器 snapshot.error 有一个值,我不知道如何更改这仅在用户单击按钮时才显示错误,并且验证实际上会引发错误。

StreamBuilder 快照.hasError

集团

0 投票
1 回答
860 浏览

dart - 如何将 Firebase 快照与 rxdart 流一起使用

我有一个具有所有与 firebase 相关的功能的类,以及另一个管理状态(块)的类。如何使它们始终如一地工作?

我的方法可能不正确,但我想描述这个问题。

0 投票
2 回答
7733 浏览

ios - 当 BLOC 中的流值发生变化时导航到新屏幕

在 Flutter 中,当流的值发生变化时,我将如何调用 Navigator.push?我尝试了下面的代码,但出现错误。

在此处输入图像描述

0 投票
0 回答
591 浏览

flutter - Observable.onError 处理程序不会阻止异常杀死应用程序

更新了代码

我厌倦了调试这些错误而没有结果任何人都知道错了什么???!?!?!

当添加的 Stream 发出正常事件时,它可以正常工作,但是在发出错误时,它由 onErorr 方法处理,并且发生了一个奇怪的错误,正如您在 StackTrace 中看到的那样。

0 投票
1 回答
355 浏览

dart - RxDart 是否支持背压?

当有一个快速的生产者和缓慢的消费者时,我想用最新的替换所有旧的等待排放 - 类似于 RxJava 的Emitter.BackpressureMode.LATEST

在此处输入图像描述

有没有办法在 RxDart 或 Dart Streams 中实现这一点?