在使用Typescript时,我遇到了一些问题,无法将可观察对象链接在一起,这样才有意义。在这个例子中,我写了一个条件,它取决于它的值,或者执行一个函数,或者在执行函数之前做一些预处理。
在执行此操作时,我注意到问题区域正在尝试返回
Observable<Observable<number>>
b(data: number): Observable<number> { return of(data); } // This is a stub.
a(data: number): Observable<number> {
const fn = (x): Observable<number> => {
return of(x) // this is a stub which would be the result of an http request.
}
if(data < 3) {
return fn(data);
} else {
return b(data).pipe(map( x => fn(x) )) // Problem line
}
}
该如何处理?我想可能有一种方法可以使用承诺来处理这个问题,但我认为这会弄乱函数签名,因为我需要将它们标记为异步。我被难倒了,希望得到一些指导。