2017-07-26 185 views
0

我使用get request得到設備列表。我編輯了一些細節並使用put request進行了更新,但現在我希望我的列表在成功put request後應該更新(獲取請求)。Angular:如何在post/put請求成功後獲取請求?

這裏就是我想:

putConfig(Device) { 

    var request = this._http 
     .put(this._puturl+Device.deviceId, Device) 
     .map(res => res.json()) 
     .subscribe(res => this.getConfig()) 



    return request; 
} 

但這並沒有看起來這項工作。誰能幫我嗎?

回答

1

你什麼樣的回報實際上是一個訂閱,你需要做的是:

var request = this._http 
    .put(...) 
    .switchMap(() => this.getConfig()); 

return request; 

確保您訂閱的結果:

putConfig(Device).subscribe() 

爲了讓「熱」,否則它不會觸發。

請注意,我刪除了地圖操作,因爲它不是必需的,所以不要使用res

+0

它說''switchMap'不存在類型'Observable '.'!! – Freddy

+0

你應該導入它:'import'rxjs/add/operator/switchMap';' – Meir