问题标签 [combinelatest]

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 回答
1402 浏览

angular - 使用 RxJS CombineLatest 进行搜索或选择

在我的应用程序中,我使用的是 NGRX 和 RXJS。我有一个窗口,用户可以通过在文本框中输入自由格式文本或单击页面上的订单项来查看详细信息来过滤订单。

我有两个可观察对象,我想调用我的商店并通过过滤任一方式来获取详细信息,但我想使用 combineLatest 函数来简化我的代码。文本搜索传入一个要搜索的字符串,而单击传入一个数字 id。我的代码中已经有了这个:

我的问题是如何简化此代码以使用 combineLatest,因为两者都是非常相似的操作,并且执行搜索存储在商店中的项目以根据输入的文本进行过滤。

0 投票
1 回答
659 浏览

angular - 如何在 RXJS 6 中减去 2 个 observables

我想减去 2 个可观察的数字

在 RXJS5 我正在执行以下命令

但在 RXJS6 中,combineLatest 已弃用:弃用,以支持静态 combineLatest ,如下所示

我们如何使它在 RXJS 6 中工作?

在尝试 combineLatest 的 RXJS6 格式时,

我收到一个错误 算术运算的左侧必须是“任何”、“数字”或枚举类型。

0 投票
1 回答
1521 浏览

angular - 如何在 Angular 6 中再次触发 HttpGet 请求?

combineLatest用来将数据从一个对象websocket合并database到一个对象中。每次websocket发送数据时,我的数据都会刷新。尽管我也想通过按下按钮手动刷新页面上的数据。不幸combineLatest的是,没有检测到我HttpGet请求获取最新数据。

如您所见,如果我按下BUYUI,则将buyStock执行方法并执行this.stockService.buyStock(dto)更改 DB 中的数据,然后this.stockService.getStocksResources()刷新 DB 中的数据。一切正常,数据已更改但数据未刷新(comibneLatest 未检测到来自stocksResources$

这是我的服务,但我认为问题出在组件中。

0 投票
0 回答
457 浏览

typescript - RxJS如何随着时间的推移结合最新的?

我正在尝试创建一个定期轮询后端的轮询系统。

我有一个方法add,它采用一个 pollingItem ,其中包含作为字符串的命令和间隔的 refreshTime,并将从间隔创建的 observable 传递给主题。

this.sideEffect是传递给与后端通信的 init 类构造函数的函数。

我想创建两种类型的间隔:

调用 IntervalMap 中链接到命令的主题时可以停止的默认选项。

可以以与上述相同的方式停止的“SWITCH”,但也可以在添加新的 pollingItem 时停止。

我的问题是我想要一种方法来组合poll$随着时间的推移传入的可观察值。

目前我已经尝试通过这种方式实现这个目标:

然而,尽管这确实实现了随着时间的推移组合 observables 的目标,但它是有限的,因为它会在添加时重新启动所有间隔,这不是预期的行为。

我不知道从这里去哪里。

有什么建议么?我对 RxJS 还是新手,所以任何建议都会非常感激,无论它是否与主题相关。

谢谢!

0 投票
1 回答
519 浏览

filter - RXJS - 按另一个 observable 然后 groupBy 过滤

我有一个可观察的一系列任务。我想通过另一个可观察的(文本输入)过滤这些任务。

然后我想通过“实体”属性对过滤后的任务进行分组并映射,因此结果是:

这是我得到的最接近的测试:

https://stackblitz.com/edit/rxjs-filter-group

但我似乎无法正确地将它们分组..

0 投票
0 回答
3655 浏览

angular - combineLatest 不工作

我用 angularfire2 和 rxjs 6 创建了一个新的 angular6 项目。我正在调试要在加载 observables 时显示的加载栏。

我的 ts 代码:

我的html模板:

当前没有 //this div 括号,将显示输出。但是,使用 //this div 括号时,不会显示输出。

在以前版本的 rxjs 中,我使用了:

这有效。所以我认为我对 combineLatest 运算符的实现是错误的。感谢帮助进一步调试。

0 投票
3 回答
1817 浏览

angular - Angular - Observables 组合结果多次调用

编辑 30-07-2018 01:57 CET:仍在寻找以下问题的解决方案:

我有以下代码:

基本上代码所做的是:它结合了两个 observables 的结果,然后检查每个 observables 是否返回了任何值。如果两个 observable 都有值,则返回true否则返回false

到目前为止一切顺利,一切都按预期工作。然后我从我的视图中调用该方法,为可观察对象提供动态节点引用,并使用布尔值添加条件元素:

但是,我的 div 根本不显示在我的视图上。

有人可以告诉我我错在哪里并帮助我达到我想要的结果吗?

0 投票
1 回答
1648 浏览

angular - Angular 6 FormControl的Concat 2值

我正在创建一个类似于http://api.example.com?startdate_30.12.2018&enddate_30.12.2018的 API 路径,其中我使用 2 个输入日期字段来生成日期值。

这是我的代码:

我使用 combineLatest 合并 2 个 Observables,它产生一个数组作为值,this.setFilter() 使用字符串作为值,如何将其更改为字符串。

我也使用过mergeMap,但它没有用。

0 投票
0 回答
298 浏览

rxjs - 具有多个可观察对象的 Angular 6 RXJS HttpRequest 进度

我有一组可观察对象,每个对象都使用不同的请求 ID 发出 API 请求。

我目前正在使用 combineLatest 来检索 HttpEvent 对象并尝试计算在回调中下载的进度。

但是,combineLatest 会为每个 observable 发出整个响应数组,即使该 HttpEvent 没有附加任何进度。

我想知道在这个用例中组合多个 observable 的最佳 rxjs/operator 是什么?

代码:

0 投票
2 回答
488 浏览

angular - Rxjs 转换 Observable[] 到 Observable

假设我们有两个接口:

我有一个方法应该调用从后端返回 IA 对象的端点,然后它应该调用另一个端点,然后将两个结果合并到 IA 对象中。以前我在做这样的事情:

但是现在,有了新版本,rxjs我不得不改用 .pipe(operators[]) 。如何用 pipe() 实现相同的功能?我试过这样,但它不起作用:

提前致谢。