问题标签 [mergemap]

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

rxjs - 无限滚动的可观察分页以保持最新

我试图让我的 observable 在分页期间自动更新。

仅页面触发器

load()被调用时,页面可观察对象被触发,但订阅可观察对象在更新时不会被触发......

仅订阅触发器

这里确实触发了订阅更改,但是load()调用时,不会触发页面更改...

当然,有一种方法可以通过页面更改和订阅更改来更新 Observable?

我应该补充一点,重置变量声明this.posts不起作用,因为它刷新了页面并且不是预期的行为。

有任何想法吗?

谢谢,

Ĵ

0 投票
1 回答
166 浏览

angular - 如何使用 mergeMap 对链式请求进行单元测试

如何在链式请求中对 mergeMap 进行单元测试,例如以下服务中的请求:

这是https://stackblitz.com/edit/angular-chainrequests?devtoolsheight=33&file=src/app/reqservice.ts上的完整应用示例代码

0 投票
3 回答
1056 浏览

angular - 调用多个api并使用MergeMap订阅数据

我需要调用一个返回对象数组的 api。然后我需要遍历所有对象并使用每个对象的 id 我需要调用另一个 api。然后我打算将数据保存在一个数组中并订阅,以便我可以访问包含来自两个 api 调用的数据的自定义数组。但是它对我不起作用。

我需要来自两个 api 调用的组合数据,但是在我创建的结果数组中,来自第二个 api 的数据显示为可观察的,当我尝试使用它们时出现未定义的错误。任何帮助将不胜感激。

0 投票
1 回答
63 浏览

angular - 依赖于先前的 Mergemap Observable 被忽略,带有 HTTPClient 调用,Angular

我想从服务中执行三个函数作为 Observables 来传递数据,直到最后一个。组件使用 MergeMap 方法订阅它们,但最后一个函数甚至没有被访问。

该服务的工作方式如下:

并且尝试访问这些链接的组件的工作方式如下:

为什么这种方法行不通?是因为异步过程以一种奇怪的方式一个接一个地传递数据吗?

(上一个 url 的调试错误是这个 'ERROR TypeError: Cannot read property '0' of undefined' 即使当我尝试在那里放置断点时从未访问过该函数(在 chrome 控制台上看到它))

(编辑:使用 concatmap,仍然是同样的问题。 res1[0].secondname 未定义,因此导致未定义的 res2[0].thirdname)

0 投票
0 回答
30 浏览

rxjs - 我们如何在不丢失顺序的情况下展平 observable (api) 数组。我尝试使用 ConcatMap 但没有用

我们如何在不丢失顺序的情况下展平 observable (API) 数组?我尝试使用 ConcatMap 但没有工作,因为只收到一个响应,因为我们从未从第一个响应中获得 COMPLETE 状态,因此它永远不会为第二个项目移动并继续等待。使用 MergeMap,不维护顺序

0 投票
1 回答
84 浏览

javascript - 缓存 observables 导致 mergeMap 出现问题

我在容器中有一个缓存方法:

这适用于普通的可观察对象,但是当我在myContainer2中缓存波纹管(例如,使用缓存的可观察对象的结果创建另一个缓存的可观察对象)方法时,例如:

每次订阅getObs2的第二个缓存都会被调用(它什么都不缓存)。我怀疑我的 get 实现是错误的,因为我正在合并一个行为主题(它在开始时发出),但我想不出任何其他方式来实现它(为了使用冷的 observables)。请注意,如果我使用普通的 observable 而不是 myContainer.get() 一切都会按预期工作。你知道问题出在哪里吗?

0 投票
2 回答
66 浏览

angular - RXJS MergeMap 没有被执行

在下面的代码中,执行永远不会转到mergemap。寻求有关更正此代码的帮助。

要求是,一旦我从 getBns 方法获得响应,我需要对响应执行一些操作,然后使用点击运算符更新 HTML 中使用的一些标志。

组件.ts *

服务.ts

0 投票
1 回答
67 浏览

javascript - 类型参数不可分配给 ObservableInput 类型

如何解决参数类型 (key:string) => Observable | 的问题 有效载荷类型 | 不能分配给“(值:字符串,索引:数字)=> ObersvableInput”类型的参数

0 投票
1 回答
41 浏览

angular - 在 1 个发射中从父可观察数组中提取嵌套数组

在 RXJS 从 observable 中提取和合并数据方面需要一些帮助。

如何提取每个Collection父对象中的所有计划对象并将它们组合在一起作为Schedules数组?我尝试将mergeMapmap一起使用。以及forkjoincombinedLatest。但是,我仍然想不出合适的方法。

0 投票
1 回答
30 浏览

javascript - 避免嵌套 Observables(完成时的 mergeMap)

得到了一个抓取服务的伪代码,它首先探索分页 url,然后是抓取的“父”网站上的子页面 url

我想避免嵌套,因为它是使用 observables 的不正确方式

有没有办法把它转换成这样的东西:

添加了一个名为waitUntilCompletes()的伪函数

rxJS 中是否有这样的事情,它使 mergeMap 中的 observable 在运行之前等待,直到前一个 observable 完成?