我一直在使用一个约定,其中我的函数返回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();
}
}