问题标签 [switchmap]
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.
angular - 使用 ngrx 嵌套 switchMaps 的潜在竞争条件
我有一个 Angular 9 应用程序,大部分情况下使用 observables。在一个组件中,我需要:
- 获取所有公司(因为它们包含我需要的某些信息)
- 然后获取所有响应并映射公司中的一些额外信息(即响应的公司名称)。
- 将该列表作为 observabe 返回,该列表使用异步管道在模板中订阅。
为此,我最初有以下代码(似乎有效):
首先,我不确定 switchMap 是否是正确的运营商,因为如果 companyFilesSelector 正在更新,然后responsesSelector 部分启动,那不会终止先前的订阅吗?
现在我还需要添加对我拥有的过滤器服务的订阅,因此我对 getAccessibleResponses 方法进行了以下更改(这似乎再次起作用,但我觉得它可能更多的是通过运气/良好的连接而不是任何东西别的):
我相当有信心这不是最好的,甚至不是正确的方法,但我有点迷茫,很难理解如何实现以下目标:
- 首先获取所有公司。
- 将可观察到的公司的结果与响应相结合。
- 当过滤器改变时(即过滤器服务 observable)过滤 1/2 的结果。
任何帮助或指导将不胜感激。
rxjs - 在 switchMap 中返回对象
我是 rjxs 编程的新手,所以想知道如何执行以下操作。
因此,在上面的代码中,from(fileRef.getDownloadURL())
有一种方法可以创建一个像下面这样的对象,而返回将是下面对象的列表。
方法签名
angular - 角度输入搜索无法使用 switchmap,同时还尝试显示一些初始化数据
我使用带有 observable 的异步管道在 Angular 中实现了我的搜索。我将 observable 分配给使用 switchmap 完成的搜索 observable。但它不起作用!我认为这与一个分配覆盖另一个有关。但是我需要在开始搜索之前显示一些数据(反正谁不会。)我试图通过先分配数据然后搜索来反转它,但是没有显示任何数据,它只在我开始输入时才有效。
所以我的问题是如何修复它,以便我可以拥有搜索功能并在开始时仍然显示一些数据。使用异步管道而不订阅组件
以及使其更清晰的场景>在组件初始化时,我想向服务器发出请求并获取初始数据显示它。并且还通过向服务器发出另一个请求,将我相同的可观察对象“分配”给用户键入要搜索的条件的输入。
任何帮助表示赞赏
类似的问题,但没有具体的答案和不推荐使用的 rxjs 运算符
Angular2 - 在初始化时使用 Switchmap 从服务中获取数据
编辑为
ngxs - 在 switchMap 中调度 ngxs 操作忽略返回值
必须有一个标准的方法来解决这个问题,但我还没有找到任何东西。我可能没有正确表达我的搜索。
我有一个搜索输入字段,作为一种好的做法,switchmap
当用户继续输入时,我使用运算符取消以前的 http 请求。
我以 ngxs 文档中的示例为基础:
SomeAction
每次用户在输入字段中键入内容并保存在商店中时都会调度(这就是为什么SomeOtherAction
没有构造函数参数)。
如果没有这个空的订阅块,有没有更好的方法来做到这一点?这看起来像一个反模式。
angular - 具有空值的 switchMap
我正在使用ng-select自定义服务器端搜索来根据用户类型加载数据。目前,它仅在实际按下关键字时才有效。我想在每次打开下拉菜单时触发 http 请求,即使搜索词为空
组件.html
组件.ts
我试图了解 switchMap() 如何仅在输入输入值后触发请求。每次调用 getFilterValues 方法时,如何让它触发服务的方法?
angular - Rxjs/Typescript:ExpressionChangedAfterItHasBeenCheckedError
我正在使用ng-select自定义服务器端搜索来加载数据,无论用户是否提供了搜索词。
组件.html
组件.ts
我注意到的问题是,每当我打开选择下拉菜单时,它都会触发控制台错误:
之后,如果提供了搜索词,则由 this.filterValuesLoading 触发的加载微调器可以正常工作。这里有什么问题?谢谢!
java - 从一个 LiveData 源链接多个 Transformations.switchMap
我正在为一个学校项目学习 Android,我们必须使用 Java,我们不能使用任何外部库。我正在创建一个大学生课程负载跟踪应用程序。目前,我正在开展一项活动,该活动将详细说明Course
用户选择的信息。当用户选择 a 时,我需要能够获取多个数据库结果Course
:Mentor
(Instructor)、a LiveData
List
of Assessment
s 和 a LiveData
List
of Note
s。我目前有一个Transformations.switchMap
设置并正在努力获得Course
Mentor
. 然而,它似乎LiveData
只能有一个这种转换观察者。这是我的代码:
课程详情视图模型
然后我观察这些LiveData
对象在我CourseDetailActivity
的 UI 中填充:Mentor
填充 a 集 a 的选择Spinner
,List<Assessment>
并List<Note>
传递到它们各自RecyclerView
Adapter
的 s 中。
我有一种感觉,我可以使用类似的东西,MediatorLiveData
但是,我真的不完全理解如何正确使用它,即使在网上查看了许多资源之后。我是 Android 新手,这是我的第一个 Android 项目,所以我知道我有很多东西要学,而且我完全愿意接受对设计决策的批评。
非常感谢您的帮助!
angular - 如何使用不同的策略执行多个调用和订阅?
假设我有类似下面的代码
我需要一个很好的例子来说明如何进行多个服务调用,因此我希望进行更多调用和更多订阅操作,而不是从一个服务返回然后执行订阅。实际上,如果有不止一种方法,我想知道每一种可能的好方法......承诺,任何地图结构(ConcatMap?)。这里真的很欢迎例子
rxjs - 根据一些可观察值过滤 Angular 8 中的多个下拉值
我有以下表单控件(parent1、parent2、parent3),它们是复选框。当用户选中/取消选中其中任何一个时,以下表单数组由多个选择复选框组成,示例数据如下:
我正在尝试使用更高阶的 observables 来实现这一点:
非常感谢任何帮助和指导。提前非常感谢!
rxjs - Angular 9/rxjs:如何处理 switchMap 中抛出的错误?
我正在使用 Angular (9) 驱动的 Bootstrap (6.1.0) TypeAhead 并定义它的搜索功能,如下所示:
该函数必须返回一个 Observable。如何捕获 switchMap 中抛出的错误?