gpt4 book ai didi

javascript - 展平嵌套的 Observables.subscribe

转载 作者:太空狗 更新时间:2023-10-29 18:21:37 24 4
gpt4 key购买 nike

我是使用 rx.js 的 Observables 的新手,我想知道如何平息以下回调 hell :

function getdata1 (argument) {
return this.http.get(url)
.map((res: Response) => res.json());
}

function getdata2 (argument) {
return this.http.get(url)
.map((res: Response) => res.json());
}

getdata1.subscribe((data1: any) => {
console.log("got data one. get data 2 now");
getdata2.subscribe((data2: any) => {
console.log("got data one and two here");
});
});

我知道如果这是 Promises,then() 可以用来压扁它。但我不知道 Observables 中的 then() 等价物。

最佳答案

您可以将 flatMap 运算符与 Observable.forkJoin 一起使用:

getdata1().flatMap(data1 => {
return Observable.forkJoin([
Observable.of(data1);
getdata2()
]);
}).subscribe(result => {
var data1 = result[0];
var data2 = result[1];
(...)
});

关于javascript - 展平嵌套的 Observables.subscribe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36307601/

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