在输入(编辑)某些记录之前,我将从数据库中获取新数据。
服务:
getVotes(): Observable<Vote> {
return this._http.get<Vote>(url);
}
putVote(choose: string){
this.getVotes().subscribe(
result => {
...
return this._http.put<Vote>(url + object).subscribe();
}
)
}
现在它可以工作了,但我认为putVote()
应该返回Observable<Vote>
,那么如何从内部getVotes()
返回?
答案 0 :(得分:2)
您应该使用getVote()
映射来自switchMap
的响应,并从http.put()
删除订阅以从putVote()
返回Observable
putVote(choose: string){
return this.getVotes().pipe(switchMap(
result => {
...
return this._http.put<Vote>(url + object);
}
))
}
答案 1 :(得分:0)
您可以尝试以下代码吗?
getVotes(): Observable<Vote> {
return this._http.get<Vote>(url);
}
putVote(choose: string): Observable<Vote> {
this.getVotes().subscribe(
result => {
...
return this._http.put<Vote>(url + object).subscribe();
}
)
}