问题标签 [concatmap]
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 - RxJS 发出多个 AJAX 请求,然后通过另一个 AJAX 请求获取一个新列表
目标是发出多个保存请求,然后使用另一个 ajax 请求获取新列表。我有以下似乎是我想要的,但想知道是否有更好的方法
保存的结果并不重要。保存后获得新结果是我需要使用的结果。我使用了 takeLast(1) 因为如果我不这样做,列表中的每个项目都会有一个获取请求。在上面的示例中,我将有 3 个获取请求,并且我只想在所有保存完成后获取列表。
angular - 有条件的可观察链
所以我有 3 个 observables:updateCustomUserData$、updateEmail$、updatePassword$。和profileEditForm。如果更改了适当的表单字段,我需要更新个人资料数据;我认为它应该是这样的:
但它不起作用。如果自定义数据未更改且密码或电子邮件已更改 - updateEmail 和 updatePassword 未执行。有人可以帮忙吗?PS对不起我的英语:)
spring-webflux - Flux.concatMap 在返回结果之前进入下一个事件
我有一个 Flux 测试用例对象,对于每个对象,我需要调用一个外部服务,一旦收到服务响应,在接下来的操作中,它会检查响应是否有效。但是对于一些随机的对象,在收到来自外部服务的响应之前,Flux 正在释放信号。
预期结果:1)Ref Id:10002 TestCase:TESTCASE_1。2) 在调用 Ref Id: 10002 TestCase : TESTCASE_1 的服务之前。3)命中后:Resp生成;参考 ID:10002 测试用例:TESTCASE_1。4)Ref Id: 10002 TestCase : TESTCASE_1 匹配为真。
1)参考 ID:10002 测试用例:TESTCASE_2。2) 在为 Ref Id: 10002 TestCase : TESTCASE_2 调用服务之前。3)命中后:Resp生成;参考 ID:10002 测试用例:TESTCASE_2。4)Ref Id: 10002 TestCase : TESTCASE_2 匹配为真。
1)参考 ID:10002 测试用例:TESTCASE_3。2) 在为 Ref Id: 10002 TestCase : TESTCASE_3 调用服务之前。3)命中后:Resp生成;参考 ID:10002 测试用例:TESTCASE_3。4)Ref Id: 10002 TestCase : TESTCASE_3 匹配为真。
生成的输出:
1)参考 ID:10002 测试用例:TESTCASE_1。2) 在调用 Ref Id: 10002 TestCase : TESTCASE_1 的服务之前。3)命中后:Resp生成;参考 ID:10002 测试用例:TESTCASE_1。4)Ref Id: 10002 TestCase : TESTCASE_1 匹配为真。
1)参考 ID:10002 测试用例:TESTCASE_2。2) 在为 Ref Id: 10002 TestCase : TESTCASE_2 调用服务之前。
1)参考 ID:10002 测试用例:TESTCASE_3。2) 在为 Ref Id: 10002 TestCase : TESTCASE_3 调用服务之前。3)命中后:Resp生成;参考 ID:10002 测试用例:TESTCASE_3。4)Ref Id: 10002 TestCase : TESTCASE_3 匹配为真。
javascript - RXJS - 嵌套 concapMap 是否等同于顺序 concatMap?
使用 RXJS 时,我问自己嵌套的 concatMap 是否等同于顺序的。考虑以下示例:
result
这将导致result3
. 为了避免嵌套,我想写如下:
这也将导致result
存在result3
。即使在细节层面上可能存在差异,我是否可以假设连接 observable 的两种方法都被认为是等效的(例如,对于失败)?
任何帮助表示赞赏...
javascript - 在 rxJs 中使用 flatMap 与 concatMap 进行斗争
我正在努力理解rxJsflatMap
和concatMap
rxJs 之间的区别。
我能理解的最明确的答案是这里的区别-concatmap-and-flatmap
所以我自己去尝试了一些东西。
我在这里用过那个游乐场的例子
问题
1) 据我了解,flatMap 的使用应该混合输出,以便控制台日志类似于(1、3、2、4、5)。我已经尝试了 30 多次并且总是在同一行(1、2、3、4、5)
我做错了什么或有什么不明白的错误?
2)
如果打开createObs2()
并且createObs3()
您删除注释并包含具有多个发出事件的代码,那么事情就会变得混乱。即使您更改为 concatMap ,它也会使事情变得混乱,结果也很复杂。我期望只出现一次的多个数字多次出现。结果可能是 (1, 2, 33, 3, 2, 22, 3, 33, 4, 5, 4, 3, 4, 5) 为什么会这样?
我如何在操场上测试这个例子。我只从最后一个 console.log("hello") 中删除了 1 个字母。只有一个更改,例如 console.log("heloo") 然后被观察并再次编译项目并在控制台中打印输出。
编辑:我去 flatMap 和 concatMap 的原因是使用 http 库找到一个替代嵌套订阅的角度。
angular - 如何在 Angular RxJS 中正确链接 concatMaps
我想知道以上是否是在 Angular RxJS 中链接 concatMaps 的正确方法。其他两个调用依赖于正在检索的“非营利组织”,以便可以返回其对象。评级和类似的非营利组织可以同时检索,所以我想有一些方法可以做到这一点,而无需将这些 concatMaps 相互嵌套。
angular - Angular concatMap 未调用下一个 API
我正在尝试进行连续的 http 调用,但getGroups
没有调用下一个函数(即)。
这些是我的函数签名:
我检查了getTokenForGroups
被调用,但我的第二个函数不是。
angular - BehaviorSubject 和 concatMap 的副作用
这是我第一次尝试 BehaviorSubject、异步管道和 concatMap,所以我在更新 DOM 中的数据时遇到了一些问题。
我有:
接着
这个逻辑就像购物车逻辑。我将产品添加到其中一个配置文件,因此为了避免再次调用 api (getUserProfiles),我修改了 profile$ 流并添加了我想要的属性(在本例中为 canEdit),但是当我从购物车中删除产品时出现问题并从 getUserProfiles() 恢复数据我知道,当我将 concatMap 与 profile$ 一起使用时,即使我没有调用该函数,我也会对 addProduct() 产生副作用,我的问题是......
为什么它继续执行
使用我过去作为参数传递的旧 profileId,即使我没有调用 addProduct() 函数,如何避免这种情况?