首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当另一个对象发出时,运行一个可观察对象,返回两个结果

当另一个对象发出时,运行一个可观察对象,返回两个结果
EN

Stack Overflow用户
提问于 2019-03-06 21:19:53
回答 1查看 109关注 0票数 0

我有以下代码:

代码语言:javascript
运行
复制
dialog.afterClosed()
      .pipe(
        filter((result) => result),
        mergeMap((result) => this.unitService.importPack(result.file))
      )
      .subscribe((result) => {
        console.log(result); // I need the result of both, not only the mergeMap result
        this.updateStateAfterUpload(result.file, 'imported');
      });

这里的问题是,我订阅中的result是在mergeMap操作符中返回的observable的结果,但我实际上需要使用这两个结果-从我的afterClosed() observable返回的结果和由mergeMap操作符返回的结果。

如何在订阅中返回这两个观察值的结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-06 21:25:00

代码语言:javascript
运行
复制
dialog.afterClosed().pipe(
  mergeMap(result1 => this.unitService.importPack(result.file).pipe(
    map(result2 => ({ result1, result2 }))
  ))
).subscribe(({ result1, result2 }) => { ... });

映射第二个请求的结果以返回您想要的结果。在这里,我返回一个{ result1: any, result2: any }类型的对象

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55024091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档