Typescript 返回可观察对象时的返回类型问题';s值

Typescript 返回可观察对象时的返回类型问题';s值,typescript,rxjs,observable,Typescript,Rxjs,Observable,我是RxJs(typescript)的新手,对观察值不太了解。我有一个HTTP调用,如下所示: // HomeApi.ts public getTypes(): Observable<Array<KeyValueModel>> { return this.request('GET', Url).pipe(map((Res) => Res.data)); } 但是我正在获取一个'get'访问器必须返回一个值。ts(2378)。 我还使用了一个函数,它返回void

我是RxJs(typescript)的新手,对观察值不太了解。我有一个HTTP调用,如下所示:

// HomeApi.ts
public getTypes(): Observable<Array<KeyValueModel>> {
  return this.request('GET', Url).pipe(map((Res) => Res.data));
}
但是我正在获取
一个'get'访问器必须返回一个值。ts(2378)。

我还使用了一个函数,它返回
void
,如下所示:

// service.ts
public getTypes() { // <---- Getting return type as void
  HomeApi.getTypes().subscribe((Res) => {
    return Res;
  });
}
//service.ts
公共getTypes(){//{
返回Res;
});
}

如何解决这个问题?

您不可能将异步调用转换为同步调用。返回可观察的。在组件或其视图中订阅它。Types()中的返回不是从getter返回的。它从传递给subscribe()的回调函数返回。您不可能将异步调用转换为同步调用。返回可观察的。在组件或其视图中订阅它。Types()中的返回不是从getter返回的。它从传递给subscribe()的回调函数返回。
// service.ts
public getTypes() { // <---- Getting return type as void
  HomeApi.getTypes().subscribe((Res) => {
    return Res;
  });
}