【发布时间】:2018-10-12 10:04:59
【问题描述】:
在这里,我有两种方法可供使用。我是新手,所以我不确定 subscribe 方法是做什么的,但我只知道没有它我无法构建我的项目。如果我评论这两个函数,然后 ng 服务,然后取消评论,并让它刷新更改,它就可以工作。但我无法建立项目。如何更改代码,以免出现这些错误并成功构建项目?
public delete(patient: Patient): Observable<Patient> {
return this.http.delete<Patient>(`${this.deleteOneUrl}/${patient.id}`).subscribe();
}
public addPatient(patient: Patient): Observable<Patient> {
return this.http.post<Patient>(this.addOneUrl, patient).subscribe();
}
src/app/patient.service.ts(30,3) 中的错误:错误 TS2322:类型“订阅”不可分配给类型“可观察”。 “订阅”类型中缺少属性“_isScalar”。 src/app/patient.service.ts(38,5): error TS2322: Type 'Subscription' is notassignable to type 'Observable'。
【问题讨论】:
-
返回类型与实际返回的内容不匹配。理想情况下,您应该返回
Observable。因此根本不需要subscribe()。然后可以从其他地方(最好是从另一个组件)观察(订阅)这两种方法。
标签: angular