Rxjs的pipe怎么像Promise的then一样等待ajax结束才继续?

发布于 2022-09-07 20:09:11 字数 376 浏览 21 评论 0

请问在Angular中,如果一个请求依赖于另外一个请求的结果,用Rxjs该怎么处理呢?

this.getOne().then(data => {
  // 这里返回另外一个Promise
  return this.getTwo(data);
}).then(data => {
  console.log(data);  // 这里打印第二个Promise的值
  return this.getThree(data);
}).then(data => {
  console.log(data); // 这里打印第三个Promise的值
})

上面是用Promise实现的效果,请问用Rxjs的pipe怎么达到类似的目的呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〃温暖了心ぐ 2022-09-14 20:09:11

mergeMap:

from(this.getOne)
    .pipe(
        mergeMap(oneData => {
            console.log(oneData)
            return from(this.getTwo)
        }),
        mergeMap(twoData => {
            console.log(twoData)
            return from(this.getThree)
        })
    )
    .subscribe(threeData => {
        console.log(threeData)
        ...
    })
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文