作者:粉笔画1995_996 | 来源:互联网 | 2023-01-11 17:26
我在角度4.3服务中得到了这个httpclient请求:
updateTermin(termin: Termin){
let url = '${this.termineUrl}/${termin.id}';
this.http
.put(url, termin, {headers: this.headers})
}
如果我附加一个.subscribe(),它只会被触发:
updateTermin(termin: Termin){
let url = '${this.termineUrl}/${termin.id}';
this.http
.put(url, termin, {headers: this.headers})
.subscribe()
}
另一个请求(删除或发布)工作而不附加.subscribe().为什么?
1> BeetleJuice..:
的HttpClient
请求方法(所有的)返回一个可观察到:基本上它是等待被执行的命令的一个链.在你打电话subscribe()
给那条链之前什么都没发生.所以this.http.put(...)
只为你准备命令.
如果你来自一个使用promises的环境,这似乎是违反直觉的,因为一旦它生效,它就会执行.可观察量是不同的.查看YouTube上的简短介绍