我一直在使用我的函数返回 observables 的约定,以实现强制顺序的一系列函数调用,每个函数调用都将返回值传递给它们的后续“回调”函数。但是在阅读和观看教程之后,似乎我可以用我认为的平面图做得更好。我想我很接近这个建议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();
}
}