如何处理可能为空的rxjs可观察响应?

问题描述:

我使用Angular2和Ionic2以打字稿,想处理来自后端服务的响应在那里我能得到如何处理可能为空的rxjs可观察响应?

  • 与HTTP 200
  • 或含有与ErrorMessage属性JSON对象的空响应信息要显示给用户。

这是我的要求:

this.http.put(***).subscribe((data) => { 

的问题是,如果我给的数据参数,rxjs,尝试从JSON序列化,如果是空的,它抛出一个错误。如果我不给数据参数,我可以处理空响应,但如果我有一个,我将如何到达errormessage属性?

我不想在后端请求更改以在发生错误时给出正确的http错误代码。有什么办法可以解决这个问题吗?

+0

你试过在错误methid实施? – anshuVersatile

你有没有尝试过这样的:

public Update = (itemToUpdate: any): Observable<Response> => { 
    return this._http 
     .put("htto://localhost/api/", JSON.stringify(itemToUpdate)) 
     .map(res => res ? res.json() : {}); 
} 
+0

是的,我应该在询问之前尝试过地图。 :) 谢谢! – Perrier

+0

高兴地帮助你! –