angular - 如何在下一个 concatMap 中从 resposne 获取数据?
问题描述
有一个 rxjs 流,它通过 id 加载数据,然后从服务器输入:
this.applicationSubjectRepository
.getZagsDoc(appsubjectid)
.pipe(
indicate(this.loading$),
observableTimestampResponse(),
concatMap(() => this.applicationSubjectRepository.getZagsDocType()),
switchMap((subjecttypes) =>
this.dialog
.open(DialogSubjectsSubdocumentsComponent, {
...this.dialogConfig,
data: { mode: MODES.CREATE, subjecttypes, appsubjectid: appsubjectid },
})
.afterClosed()
.pipe(
filter(Boolean),
concatMap(() => this.applicationSubjectRepository.getByAppSubjectId(PASS_HERE)),
),
),
)
.subscribe((subjectdocuments: any[]) => {
this.subject.zagsdocs = subjectdocuments;
});
如何将响应从.getZagsDoc(appsubjectid)
togetByAppSubjectId(PASS_HERE)
传递给PASS_HERE
?
解决方案
在您的代码中,您丢失了this.applicationSubjectRepository.getZagsDoc(appsubjectid)
行中的值
concatMap(() => this.applicationSubjectRepository.getZagsDocType()),
你可以避免这种情况:
concatMap((zagsDoc) => this.applicationSubjectRepository.getZagsDocType().pipe(map(x => ([zagsDoc, x])))),
推荐阅读
- azure - Azure 媒体服务 Fairplay V3 DRM 内容密钥策略
- python - 如何为列的最后一个值赋值最简单?
- openssl - 将 .pfx 文件导入 Windows 证书存储时出现“您输入的密码不正确”
- python - 打印列表项和列表的另一项
- html - 添加缩放属性后悬停时,我的 div 容器会覆盖导航栏
- python - 按 (a), (b), ..., (z) 分割
- python - Python字典冒号等于
- python - Python在字符串中查找文本
- android - 插件 AppDynamics Android Agent Installer 1.1.38 中的异常
- amazon-web-services - AWS SQS 服务调用频繁出现 5XX 错误和 i/o 超时错误