对于以下TypeScript(使用rxjs):
R.html
如何实现新方法以满足以下伪代码:
getRegularData(): Observable<MyData> {
return WS.loadRegularData();
}
getAlternateData(): Observable<MyData> {
return WS.loadAlternateData();
}
答案 0 :(得分:14)
有许多方法可以实现这一点,一种方法是使用包含条件的switchMap:
getData(): Observable<MyData> {
return getRegularData()
.switchMap(data => {
if (data != null) {
return Observable.of(data);
} else {
return getAlternateData();
}
});
}