有没有办法执行条件Observable转换或在.flatMap()
内返回原始Observable的方法?
以下代码将执行get() : Observable<T>;
。如果get()
返回的Observable内的值不为null,则getOrFetch()
应返回此Observable。如果此值为null
,则应返回fetcher()
中的observable。
getOrFetch(fetcher: () => Observable<T>) : Observable<T> {
let observable : Observable<T> = this.get()
.flatMap(res => {
if(res === null) return fetcher();
else return Observable.of(res);
}
observable.do(() => console.log('This code does not execute :(');
return observable;
}
我遇到的问题是我每次都将get()
的值包装到一个新的Observable中。有没有办法避免这种情况?
更新