gpt4 book ai didi

javascript - Angular 8 在异步调用链之后返回可观察的

转载 作者:行者123 更新时间:2023-11-30 19:04:06 27 4
gpt4 key购买 nike

我有一个简单的函数,它像这样一个接一个地调用 3 个异步函数:

getData() {
this.getUsers('2')
.pipe(
flatMap((data: any) => {
return this.getPosts(data.id);
}),
flatMap((data: any) => {
return this.getPosts(data[0].userId);
})
).subscribe(results => {
return new Observable((observer) => {
observer.next(results);
observer.complete();
});
});
}

我希望能够以某种方式调用类似的东西:this.getdata.subscribe() 并在所有 3 个 flatMap 完成时调用。我假设我必须让 getData() 函数返回一个我尝试在底部执行的可观察对象,但它不起作用,我无法在 getData() 函数上调用 .subscribe。

最佳答案

像这样尝试:

Working Demo

getData() {
return this.getUsers('2')
.pipe(
flatMap((data: any) => {
return this.getPosts(data.id);
}),
flatMap((data: any) => {
return this.getPosts(data[0].userId);
})
)
}

关于javascript - Angular 8 在异步调用链之后返回可观察的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59170016/

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