2017-10-24 14 views
0

を発射しないのHttpClient私は角4.3サービスにおけるこのHTTPClientの要求を持っている:角度4.3プットが

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

いいえ、そうではありません。メソッドが何であれ、HTTPリクエストを送信するには、購読する必要があります。 –

+0

それはできません、あなたは購読する必要があります – Sajeetharan

答えて

1

リクエストメソッド(すべて)はObservableを返します。基本的に実行待ちのコマンドチェーンです。そのチェーンでsubscribe()に電話するまでは何も起こりません。したがって、this.http.put(...)はあなたのためにコマンドを準備するだけです。

約束を使用している環境から来ている場合は、約束が生きているとすぐに実行されるため、これは直感的ではありません。オブザーバブルは異なっている。これをチェックアウトするshort intro on YouTube

関連する問題