【问题标题】:How to implement step by step async process using RxJS?如何使用 RxJS 逐步实现异步过程?
【发布时间】:2017-06-29 16:18:41
【问题描述】:

我将依次从阵列向服务器发送数据。每次下一次调度都应该在完成上一个请求后调用。如何使用 RxJS 实现它?

附:它是 Angular 4 应用程序。

【问题讨论】:

  • 使用flatMap()
  • 你能添加一些代码吗?你有什么尝试发生了哪个错误

标签: javascript ajax angular rxjs


【解决方案1】:

如果您想链接您的Observables,请使用.flatMap()。和Promise中的.then()一样

假设您的服务中有 3 个 HTTP 调用函数,分别称为 firstRequest()、secondRequest() 和 thirdRequest()。你可以像这样链接它们

myService.firstRequest()
    .flatMap(result1 => {
        //do something with result1 from firstRequest
        return myService.secondRequest(result1)
            .flatMap(result2 => {
                //do something with result2 from secondRequest
                return myService.thirdRequest(result2);
            });
    })
    .subscribe(result3 => {
        //finally do something with your result3 that is from thirdRequest
    });

【讨论】:

    猜你喜欢
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2011-01-01
    • 1970-01-01
    • 2012-07-08
    • 2019-06-11
    相关资源
    最近更新 更多