1
我是新来Observables
与rx.js,我想知道我怎么可以拼合以下回调地狱:压扁嵌套Observables.subscribe
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");
});
});
我知道,如果这是承诺,then()
可能已被使用把它弄平。但我不知道相当于then()
的Observables
。
是不是有反正我可以像链条'getdata1(),然后(getdata2)。然后(完成)'? – lbrahim
是的,但是你不会在链的结尾处有'data1' ......但事实上,它与承诺是一样的;-)对于类似于'getdata1()。然后(getdata2)。然后(完成) ',只需使用:'getdata1()。flatMap(data1 => getdata2())。subscribe(...)' –