【发布时间】:2021-12-02 14:26:06
【问题描述】:
我使用 rxjs v. 6.4.0 并尝试使用 switchMap 将我的 observable 的值传递给另一个 observable 但收到错误 Type 'void' is not assignable to type 'ObservableInput<any>'。
getFoodOrder(id : number): Observable<IFoodOrder> {
let url = `${ this.baseUrl }/food_orders/${ id }`
return this.http.get<IFoodOrder>(url)
}
this.foodOrderProvider.getFoodOrder(1)
.pipe(
switchMap(data => console.log(data)) // <-- error occurs here
).subscribe(() => console.log("done"))
我错过了什么? getFoodOrder 返回一个 observable。
【问题讨论】:
-
错误是正确的。
switchMap的投影函数总是需要返回一个 Observable(或类似 Observable 的值)。您没有返回任何内容,因此会引发错误。