如何解决如何结转 switchmap 之前可用的值?
我有一个传递 id 的 rxjs,我需要调用一个 api,该 api 将返回一些数据,我需要处理与在 switchMap 之前可用的 projectId 相关的数据。
如果我将它映射到 {projectId,api: this.http.get('/api/projects/'+projectId)}
将不会像 switchmap 那样工作。
selectedProject$.pipe(
switchMap(projectId=> this.http.get('/api/projects/'+projectId)),map(data=> this.createChart(
projectId,/* I need the project id that was available before the switchMap */
data))
)
我知道我可以设置 tap(projectId=> this.selectedProjectId=projectId)
并在以后使用它,但我想知道一种用 rxjs 处理它的方法
解决方法
看起来您想将 projectId
向下传递,您可以在 map
之后链接 http.get
以提取下游数据
switchMap(projectId=> this.http.get('/api/projects/'+projectId).pipe(map(data=> ({data,projectId})),map(({data,projectId})=>....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。