0

我正在使用ng-select v2angular 7

我在下面的返回语句中遇到错误

getHospital(term: string = null): Observable<Hospitals[]> {
    let items = this.getHospitals1();
    if (term) {
      items = items.pipe(
        filter((x,i) => x[i].name.toLocaleLowerCase().indexOf(term.toLocaleLowerCase()) > -1)
      )
    }
    return of(items).pipe(delay(500));
  }

3个错误说:

  • 类型“Observable>”不可分配给类型“Observable”。
  • 输入“医院[] | Observable' 不可分配给类型 'Hospitals[]'。
  • “Observable”类型不能分配给“Hospitals[]”类型。

这是我的getHospitals1函数

getHospitals1() : Observable<Hospitals[]>{
    return this.http.get<Hospitals[]>('https://my-json-server.typicode.com/monsterbrain/FakeJsonServer/hospitals')
   }

export interface Hospitals {
  id: string;
  name: string;
  address: string;
}

应该改变什么来解决这个问题?

4

1 回答 1

8

您面临的问题是使用该功能时return of(items).pipe(delay(500));它正在将您Observable<any[]>变成一个。只需将当前的 Observable 通过管道传递给延迟,就可以了。Observable<Observable<any[]>of

return items.pipe(delay(500));
于 2018-11-20T12:14:03.573 回答