私は、それぞれが次の「コールバック」関数に戻り値を渡す強制的な連続した一連の関数呼び出しを実現するために、関数がオブザーバブルを返すという規則を使用してきました。しかし、チュートリアルを読んで見た後、フラットマップだと思うものでこれをよりうまく行うことができるようです。私は約束から始めていませんが、私はこのアドバイスhttps://stackoverflow.com/a/34701912/2621091に近いと思います。以下に、より良いアプローチに関するアドバイスでクリーンアップするのに役立つことを望んでいる例をリストします。あなたが提供できる助けにとても感謝しています:
grandparentFunction().subscribe(grandparentreturnobj => {
... oprate upon grandparentreturnobj ...
});
grandparentFunction() {
let _self = this;
return Observable.create((observer) => {
...
_self.parentFunction().subscribe(parentreturnobj => {
...
_self.childFunction( parentreturnobj ).subscribe(childreturnobj => {
...
observer.next( grandparentreturnobj );
observer.complete();
});
});
});
}
parentFunction() {
let _self = this;
return Observable.create((observer) => {
...
observer.next( parentreturnobj );
observer.complete();
}
}
childFunction() {
let _self = this;
return Observable.create((observer) => {
...
observer.next( childreturnobj );
observer.complete();
}
}