我想使用可观察对象在 Angular2 中进行多个 http 调用。每个可观察量都依赖于先前的可观察量。如果我想返回内部 observable,那么我可以在父组件中订阅它),该怎么做?
这是我尝试过的方法,但我无法订阅父组件中的可观察对象。
子组件:
observablesFn(){
observable1().subscribe(data1 => {
observable2().subcribe(data2 => {
//I want to return this observable (before subscription b/c I want to subscribe in the parent component)
return observable3();
})
}
}
最佳答案
你的问题很难理解,因为你没有给出太多的上下文,但听起来你正在寻找 observable3()
的结果以从 observablesFn() 返回
。现有的 return
语句从嵌套的内部匿名函数返回,而不是从最外层的范围返回。我认为您希望按照这些思路做更多事情。
observablesFn(){
return observable1().map(data1 => {
return observable2(data1).map(data2 => {
return observable3(data1, data2);
});
});
}
这将从 observablesFn()
返回,而不是其嵌套的内部函数。
有必要使用 .map
而不是 .subscribe
,因为它返回一个 observable,而不是一个订阅。
关于Angular2 返回嵌套 Observable 的内部 Observable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42237909/