问题标签 [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 投票
2 回答
295 浏览

angular - 使用 mergeMap 上传所有文件后启动 http 帖子

我正在尝试POST在所有文件上传后提出请求。在我的 Web 表单中,用户可以添加许多要上传的文件。我有两个处理我的请求的 API。

我的一个 APIfileupload将文件保存在数据库中并返回一个 id(文档 ID),第二个 API 保存档案。在调用savedossierAPI 之前,我必须将所有文档 ID 添加到档案对象。

我用mergeMap上传文件:

我的问题是第二次调用 (to savedossier$) 不会等到所有文件都上传完毕(因为它是异步的)。因此,文档 ID 不会添加到我的档案对象中。

我用这样的“丑陋”解决方案进行了测试:

带有比较数组长度的 if 语句的此解决方案有效。但我认为这不是推荐的方式。

rxjs 有更好的解决方案吗?

0 投票
3 回答
1046 浏览

node.js - mergeMap 运算符究竟是如何工作的,在哪些情况下使用它?

在来这里之前我已经阅读了 Rxjs 的官方文档和其他一些页面,但我仍然不清楚。我的理解是这样的:

它用于“加入” 2 个可观察对象,从而获得单个可观察对象,我还看到它用于“展平”一个可观察对象(我也不是很清楚)。

现在......我有几天尝试使用 Angular 和 Node.js 和 Express 来编写用户注册表,我找到了一个我决定使用的小教程,它有以下代码:

如果您看到,当您使用 MergeMap 运算符时,它们只会将答案传递给您(一个可观察的),或者至少这是我能看到的。我想说的是,我没有看到他们将它与 2 个可观察对象一起使用或混合 2 个可观察对象,这是我在他们的官方文档中读到的,事实上,在他们展示的示例中,他们总是使用它有 2 个可观察的。

老实说,我很难理解这个运算符,如果有人可以帮助我以简单的方式理解它,除了理解它在我之前展示的代码中的用法外,我将非常感激。提前问好。谢谢!

0 投票
1 回答
1086 浏览

angular - 当内部可观察对象为空/ api 不返回数据时,mergeMap 不返回数据

我正在尝试合并三个可观察对象,当内部可观察对象没有任何数据时,mergeMap 不会返回任何数据。即使内部可观察对象之一为空,我也希望能够继续该过程。我该如何处理这种情况?这是我的代码:

当 billData 或 paymentData 为空时,combinedAccountData 为空。有没有更好的方法来编写上面的代码?我是 Angular 和 rxjs 的新手。谢谢。

0 投票
1 回答
192 浏览

rxjs - 使用带有合并映射和管道的 Forkjoin 的 api 请求的返回结果

我想使用来自多个 api 请求的返回结果并将其作为第二个 api 请求的参数重用,第二个 api 请求返回我必须在第三个 api 请求中重用的结果!

问题是我只能返回一个 api

0 投票
1 回答
201 浏览

groovy - Groovy - 按地图列表合并/分组

我有一个遵循结构的地图列表List<Map<String,List<String>>>

我一直在尝试构建一些东西,它会以与输入类似的结构输出一个列表,但合并了:

请注意 FY19 的 10 月 / 11 月最终如何拥有相同的帐户,因此它们被分组在一起(如果无法完成,这并不重要)

我在这里尝试了几次迭代,但每次我进入兔子洞时,我都会远离“常规”解决方案。以下是我所拥有的:

我遇到的两个问题

  1. 感觉不是很“时髦”,但我对 groovy 还是比较陌生,所以我知道什么
  2. 我必须对 groupBy 闭包中的键进行“硬编码”:.groupBy{"${it.Year}${it.Period}"}- 我想不出一种方法来传递一个或多个键来分组。

关于上面的#2,我将有一个键列表,以便在执行此代码时进行分组,但是当我无法弄清楚如何使用它时.groupBy{sGroupBy}- 我正在尝试类似下面的东西

编辑—— 想出了#2,不确定它是否是最好的方法,但它有效

0 投票
1 回答
38 浏览

angular - 需要将地图数据(youtube api 播放列表)与其他数据(播放列表的视频编号)合并

我已成功显示我的播放列表,但我想将视频数量添加到每个播放列表。

为此,我必须发送另一个请求。我无法合并播放列表结果中的视频数量

感谢您的帮助,3天没有结果

我的 yt.service.ts

我的播放列表.ts

0 投票
1 回答
35 浏览

angular - 角度分组和合并数组

1

我正在尝试合并数组中的重复值对象但不工作...... 我的结果是这样的

但我希望我的数据像这样帮助我

这是我的代码

-


0 投票
2 回答
353 浏览

angular - 如何在路由解析器Angular中返回内部可观察的结果

我正在尝试编写一个看似简单的方法来获取我的 Angular 应用程序的用户个人资料详细信息,并在使用解析器导航到个人资料页面之前加载该数据。. 即使没有错误,解析器也没有完成这是我的解析器类代码:

在我的路由模块中:

任何人都可以请帮忙。坚持了2天

0 投票
3 回答
1992 浏览

java - merge two Map Values in Java and if key is same append the Values not overwrite in Java 7 or Java 8

I want to merge 2 Maps, but when the key is the same, the values should be appended instead of overwritten.

Let's say

So here the key is same.I know putAll will overwrite the values if key is same

But I am looking for an output like

If someone can help me to resolve, will be so thankful.

0 投票
1 回答
383 浏览

angular - Angular中基于页面大小的多个API调用

API 调用 - getList()=> 返回 1000 个数字

  • 说 1,2,3...1000

通过获取前 20 名以上的结果进行 20 次 API 调用

我正在尝试做这样的事情

但它不工作