我正在使用 ng-select v2 和 angular 7 。
下面的return语句出现错误
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'类型不能分配给'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;
}
应对此进行哪些更改以解决此问题?
答案 0 :(得分:7)
您面临的问题是return of(items).pipe(delay(500));
行,它在使用Observable<any[]>
函数时将Observable<Observable<any[]>
变成of
。只需将当前Observable传递给延迟,就可以了。
return items.pipe(delay(500));