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

flutter - AsyncSnapshot 拒绝类型注释

我有一个StreamBuilder正在从我的 bloc 组件中获取数据。

但是,它一直拒绝我的类型注释AsyncSnapshot<List<int>> snapshot,并且只接受 dynamic 作为 type AsyncSnapshot<List<dynamic>> snapshot。然而,在我看过的例子中,它们确实有没有抱怨的类型注释。

这是我的流创建。

}

这是生成的 VSCode 错误。 VS 代码错误

我可能做错了什么?

0 投票
1 回答
183 浏览

dart - 使用 BehaviorSubject 的测试中的 TimeoutException - BLoC

我创建了一个简单的 Bloc,它使用BehaviorSubject并尝试测试其发出的值,但是TimeoutException当我交换添加的流时,我在测试或错误期间不断得到。

集团

考试

当标题流发出单个项目时,它可以正常工作。但是当它发出多个项目时,它会超时。这是我在交换发射顺序时得到的错误

错误:预期:应该按顺序执行以下操作:*发出一个“hi”事件 *发出一个“hello”事件实际:'>哪个:发出*你好,它没有发出一个“hi”事件,因为它发出了一个不同的事件。预期:你好 实际:你好 ^ 在偏移量 1 处不同

注意:当我更改为时,一切都按我的预期BehaviorSubject工作StreamController

0 投票
1 回答
4390 浏览

flutter - Flutter Auth(BLoC 模式和 rxDart)

我想在BLoC合作伙伴上进行授权申请,但遇到错误:

在以下情况下调用它:

在 AuthScreen 中

在 BlocProvider 中

我不明白为什么它不起作用,我做的一切都正确,也许我错过了什么或不明白......帮助解决问题!

所有代码:

AuthBloc

块提供者

身份验证服务

验证器:

屏幕截图

0 投票
1 回答
1380 浏览

dart - Dart:我如何获得 Stream 的长度?

我想获得 BehaviorSubject 流的长度,但我无法获得。

我怎样才能得到这个长度?

0 投票
1 回答
1747 浏览

stream - 如何使用流转换和块重置表单中的字段

我有一个屏幕,我想在其中使用流转换验证字段。验证数据后,必须启用提交按钮。当我提交表单时,我想留在同一个屏幕上并重置数据。必须禁用发送按钮。

验证过程正在运行,但是当我单击提交表单时,重置过程不起作用。

验证测试

下面,完整的代码。

(不在此代码中)我尝试使用控制器重置文本字段,它可以工作,但提交按钮仍处于启用状态。

0 投票
1 回答
1229 浏览

dart - Dart/Flutter:List.where 在 Observable.combineLatest2 中无法按预期工作

我正在使用包含Products和的流构建一些逻辑CategoriesProducthasid和另一个东西,Category具有product类型的属性,List<String>其中字符串表示id产品的。我正在组合两个流,一个代表产品,另一个代表所选类别,它将生成另一个流,其中包含与所选类别相关的过滤产品。

命令式(forEach 将内容添加到列表)工作正常。当我使用where列表中的方法时,会出现一些鬼鬼祟祟的错误或类似的东西,它甚至不会在控制台上打印任何东西,而且每次打印、返回、函数调用等......根本不会执行

控制台输出示例(where 方法)

控制台输出示例(foreach)

我在 dartpad 中写了一些代码示例,两种方式都可以正常工作¯_(ツ)_/¯

0 投票
1 回答
187 浏览

flutter - 两个不同的块导致“坏状态:流已经被收听”。

我是新来的。我在同一个脚手架上有一个登录(和 bloc)和注册(和 bloc)小部件:

登录区:

Register Bloc 与 Login Bloc 非常相似,不需要发布。

每当我滑动到登录/注册然后返回到注册/登录时,它都会给我一个错误:“状态不佳:流已被收听。”

0 投票
1 回答
1215 浏览

dart - Flutter - rxdart - 多次读取流

我有一个简单的应用程序,它有 2 个选项卡,我正在尝试使用 bloc 模式来移动数据。

流程 1: 1. 使用种子值创建应用程序启动块 2. 为页面运行构建方法并显示数据 3. 用户切换到另一个选项卡 4. 用户切换回来,在这种情况下没有数据显示,因为 steam 有已经被读过一次。

一种选择是重新订阅以再次发送种子值。

流程 2: 1. 使用种子值创建应用程序启动块 2. 为页面运行构建方法并显示数据 3. 用户更改过滤器 - 加载流数据的触发 3. 用户切换到另一个选项卡 4.用户切换回来,在这种情况下没有数据显示,因为蒸汽已经被读取过一次。

在这种情况下,我希望过滤器保持原位并且不想使用种子值

集团

0 投票
1 回答
338 浏览

flutter - ScanStreamTransformer 上的 NULL 累加器

我正在实现一个需要递归调用来获取所有数据的 api。我已经实现了一个 Bloc 组件,该组件具有recursive transformer. 但是,似乎转换器在递归调用中不断返回空累加器。

comments_bloc.dart

应用程序.dart

错误

_commentsTransformer执行引发错误的第一个实例cache[id] = _repository.fetchItem(id); ;

0 投票
1 回答
3265 浏览

flutter - Flutter 结合 observables

我想组合两个 observables 并在每个值发生变化时获取这两个值。

根据https://pub.dartlang.org/documentation/rxdart/latest/rx/Observable/combineLatest2.html及其大理石图,这正是我想要的。

所以我有:

问题是 snapshot.data 始终为空。

可观察对象(从 BehaviorSubject 创建以恢复插入流中的最后一个值)_matchViewModel.lineUpPlayers 和 _matchViewModel.playerSelectedState 正在其他 StreamBuilders 中使用,它们似乎工作正常。

这有什么问题??