This question already has answers here:
Angular 2 http get not getting
(4个答案)
3年前关闭。
我在angular 4.3服务中收到了这个httpclient请求:
只有在我附加.subscribe()时,它才会被触发:
其他请求(删除或发布)无需附加.subscribe()即可工作。为什么?
(4个答案)
3年前关闭。
我在angular 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()即可工作。为什么?
最佳答案
HttpClient
请求方法(所有方法)都返回一个Observable:基本上,这是一串等待执行的命令。除非您在该链上调用subscribe()
,否则什么都不会发生。因此,this.http.put(...)
仅为您准备命令。
如果您来自使用 promise 的环境,那么这似乎是违反直觉的,因为 promise 一旦生效就会立即执行。观测值是不同的。看看这个short intro on YouTube
09-27 17:37