angular - 管道中的多个 POST 调用未执行
问题描述
我是 Angular 的新手,真的知道问题出在哪里,但我有一个像这样的管道的方法,到目前为止只需要一个配置,这个工作正常
.pipe(
.
.
//addConfigToUser is a POST call
flatMap(() => this.service.addConfigToUser(config))
.
.
)
但是现在我需要修改方法以便对配置中的每个条目执行相同的发布请求,但由于某些原因并非如此
.pipe(
.
.
flatMap(() => configElemnt.map(
//addConfigToUser is a POST call
config => this.service.addConfigToUser(configElemnt)
.
.
))
一种解决方法是访问索引并以这种方式完成工作,如下所示:
pipe(
.
.
//addConfigToUser is a POST call
flatMap(() => this.service.addConfigToUser(config[0])),
flatMap(() => this.service.addConfigToUser(config[1]))
.
.
)
没有抛出任何错误,但 POST 请求也没有
解决方案
我想你可以用forkJoin
这个:
.pipe(
flatMap(
() => forkJoin(
...configElemnt.map(cfg => this.service.addConfigToUser(cfg))
)
),
)
请注意,如果所有提供的 observable至少发出一次并且完成forkJoin
,它将发出一个结果值数组。
推荐阅读
- python - 合并字符串列上的两个数据框,其值包含通配符,如 SQL - Python
- java - 为什么我会收到“缺少退货声明”的错误?
- html - 为什么图像没有完全显示,因为浮动,或者上面的图像?
- vb.net - System.InvalidOperationException:“由于对象的当前状态,操作无效。” 在 vb.net 中的更新查询
- arrays - 无法打印从 CUDA 内核返回的值
- javascript - 如何创建自定义按钮来播放视频
- c# - C#将动态创建的对象添加到List
(WinForms 应用程序)错误:System.ArgumentOutOfRangeException - python - Python Pandas to_csv() 空白值问题 - 从 Windows 到 Mac/Linux
- python - Alpha Vantage:遍历股票列表以获取技术指标
- google-apps-script - 使用 getNotes 设置值