gpt4 book ai didi

javascript - 使用 Observables 发出同步 http 请求

转载 作者:行者123 更新时间:2023-11-29 21:12:46 24 4
gpt4 key购买 nike

我正在从事 Angular 2 项目。我必须发出 nhttp 请求。但是我需要等待从上一个请求中获取数据才能发出下一个请求。

如何使用 Observables 实现这一目标。

我在做:

_.forEach(data, (path) => {
this.userService.getTreeNodes(path.id)
.subscribe(
data => {
//do something
}
);
});

所以现在,三个同时的请求正在进行中。

最佳答案

flatMap - 运算符是关键字,可以帮助您解决问题。

flatMap 是我们处理可观察对象之间依赖关系的方式。我的示例是人为设计的,但我从第一个可观察对象返回一个值,第二个可观察对象计算总和所需的值。

就像我说的,这个例子是人为设计的,但如果我们将其与 promise 进行比较,flatMap 就是我们创建 promise 链的等价物的方式。代码如下所示。

let first = Observable.of(10);
first.flatMap((operand1) => {
return Observable.of(operand1 + 10);
})
.subscribe(res => this.flatMappedStreams = {msg: '10 + 10 = ' + res});

来源自http://www.syntaxsuccess.com/viewarticle/combining-multiple-rxjs-streams-in-angular-2.0

关于javascript - 使用 Observables 发出同步 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40958210/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com