问题标签 [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 回答
642 浏览

dart - 如何有条件地向 RxDart 中的 Observable 添加错误?

使用 Dart StreamTransformer,我可以评估一个流值并选择基于某些条件(例如sink.add(value))发出它,或者添加一个错误(例如sink.addError('Enter a valid number'))。

使用 RxDart 的流利操作符,我将如何做到最好?我可以.map用来评估价值并addError('message')针对主题使用。但是,有没有更好的方法?

0 投票
1 回答
839 浏览

flutter - RxDart:验证 TextField 双精度值

我有一个按钮启用 GPS。启用 GPS 时,TextField应使用纬度值填充。禁用时,用户应该能够输入纬度值。我需要验证用户提供的值(在 -90.0 到 90.0 的范围内)。

就像是:

我的集团有:

我有很多问题。如果map失败,我会得到一个FormatException并且我无法弄清楚如何处理它。我的集团也有一个 Stream<double> currentLatitude启用 GPS 的时间(否则它会吐出Observable.empty()),我不太清楚如何在其中工作(可能是合并?我认为启用 GPS 时我应该能够设置控制器中的文本。

0 投票
1 回答
128 浏览

events - 为了通知目的,我应该在 Rx 流中使用什么类型?

我构建了一个颤振应用程序RxDart,我想创建一个点击事件流。这个流应该包含什么类型?bool可能对我有用,但我总是会流trues. 有没有最佳实践?

0 投票
0 回答
60 浏览

dart - Rxdart 包与 google_sign_in 或 flutter_facebook_login 一起使用时会导致 Flutter 应用程序在启动时崩溃

每次我尝试使用 google_sign_in 或 flutter_facebook_login 进行 rxdart 包时,我的颤振应用程序在启动时崩溃,并指出“不幸的是 your_app 已停止”。任何线索都会有所帮助。

这是我的颤振医生总结

0 投票
1 回答
110 浏览

asynchronous - Stream.last 回调永远不会触发

我正在用 BLoC 模式编写我的 Flutter 应用程序。我想要的非常简单:显示一个 TextField ,其中流中的最后一个值作为初始值。

有一个简单的集团:

以及带有 FutureBuilder 的视图:

问题是 FutureBuilder 仅使用空数据和“等待”连接状态调用构建器一次。

我尝试了什么:

  1. 替换FutureBuilderStreamBuilder和; outTitle.last_outTitle.last.asStream()
  2. 调用outTitle.last.then()外部小部件和从 bloc 构造函数;
  3. outTitle更改toValueObservable和 call的签名last.wrapped
  4. 将Rx 更改BehaviorSubject为 vanilla StreamController
  5. 在构建视图之前添加流一些值;

什么都没发生。只是带有StreamBuilders 的流运行良好,但不可能从last属性中获取最后一个值。

问题可能出在哪里?

0 投票
1 回答
174 浏览

dart - Dart BLoC 与 Stream 需要在两个接收器中的任何一个更新时更新

我想要一个 BLoC 类,当两个输入(接收器)中的一个/两个都更新时,需要更新 Stream 输出。

当任一 Sink 更新/不同时,如何连接 Steam 以触发?

0 投票
1 回答
2657 浏览

flutter - StreamBuilder 仅接收来自流的最后一项

我的 ApplicationBloc 是小部件树的根。在 bloc 的构造函数中,我正在收听来自存储库的流,其中包含从 JSON 解码的模型,并将它们转发到 StreamBuilder 收听的另一个流。

我希望 StreamBuilder 会一个一个接收模型并将它们添加到 AnimatedList 中。但是有一个问题:StreamBuilder 的构建器只对流中的最后一项触发一次。

例如,有几个模型位于本地存储中,id 为 0、1、2 和 3。所有这些都是从存储库发出的,所有这些都成功放入流控制器,但只有最后一个模型(id == 3 ) 出现在 AnimatedList 中。

存储库:

集团:

主要飞镖:

有趣的通知:在 StreamBuilder 的 _subscribe() 方法中,onData() 回调触发了所需的次数,但 build() 方法只触发了一次。

0 投票
1 回答
812 浏览

dart - 使用 Providers 在 Stream 中流式传输

因此,我创建了一个带有 Stream 的 BLOC 结构,如下所示。Fetcher 将收到对聊天室 ID 列表的更改。然后使用转换器,它将流中的数据添加到缓存映射并将其通过管道传输到输出。

现在要注意的是,每个聊天室 ID 都将用于创建一个流实例,因此请订阅聊天室数据中的任何更改。所以 Cache 地图基本上是把 Chatroom ID 映射到其对应的 Stream 上。ChatRoomProvider 将 bloc 与应用程序绑定。

然后我创建一个带有列表视图的 Streambuilder 来列出 ID 和来自其相应流的任何数据,如下所示。

我得到的输出如下。Streambuilder 卡在 buildTile 方法中的 CircularProgressIndicator 处。我认为这意味着实例正在被创建并添加到缓存映射中,但是它们经常监听正确的实例,或者我连接流的方式有问题。你能帮忙吗?

0 投票
1 回答
8787 浏览

dart - 如何在颤动的流中返回对象列表

我有以下 Firestore 结构和一种从数据库获取用户提要的方法。

我需要像这样链接我的流

  1. 首先来自 User/FeedIDs 集合的所有提要 ID

  2. 然后对于每个 feedID,获取 feed 详细信息的文档并返回到它们的列表。

我可以找到解决此问题的方法,因为toList() 它不起作用或我做错了什么。

如果有任何其他链接方法,将非常感谢分享。谢谢

0 投票
1 回答
4095 浏览

dart - 如何在 Flutter TextField 中使用 BLOC 模式进行后端验证?

我想创建一个 TextField 来检查数据库中是否存在该值。

如何使用带有TextField小部件的 BLOC 模式进行异步验证?我应该使用StreamTransformer将错误添加到Stream? 我尝试使用DebounceStreamTransformer,但它只是阻止Stream接收新值。

这是我的Observable

这是我的StreamTransformer

这是我的Widget