Angular:如何在post/put请求成功后获取请求?

问题描述:

我使用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; 
} 

但这并没有看起来这项工作。谁能帮我吗?

你什么样的回报实际上是一个订阅,你需要做的是:

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