我一直在使用一個約定,其中我的函數返回observables以實現一系列強制順序函數調用,每個函數都將返回值傳遞給它們的下一個「回調」函數。但在閱讀和觀看教程後,我認爲我可以用我認爲是flatmap的更好的方式做到這一點。我認爲我接近這個建議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();
}
}