私は、各関数が次の "コールバック"関数に返される値を渡す一連の関数呼び出しを強制的に実行するために、関数がオブザーバブルを返すという規則で作業しています。しかし、チュートリアルを読んだり読んだりすると、私はフラットマップだと思ってこれをもっとうまくやっているように思えます。私は約束で始まっていないが、私はこのアドバイスhttps://stackoverflow.com/a/34701912/2621091に近いと思う。以下に、より良いアプローチに関する助言を得てクリーンアップするのに役立つことを望んでいる例とリストを示しました。私はあなたが提供できる助けのために非常に感謝しています:コールバックhellを観測可能なチェーンに変換する
は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();
}
}