簡體   English   中英

處理角度2中http.get的成功和錯誤響應

[英]Handling success and error responses from http.get in angular 2

我使用foursquare api來獲取搜索地點的經度和緯度坐標,函數如下所示:

getCoordinates(params) {
   this.http.get(URL+params)
    .map(res => res.json())
    .subscribe(
      data => this.coordinates = data,
      err => this.logError(err)
    );
   // return coordinates;
  }

我試圖弄清楚如何在成功或錯誤的情況下執行特定任務,因此如果是成功案例,我想return coordinates如果沒有向控制台輸出錯誤,而不是return coordinates 我認為我或多或少地將錯誤記錄下來,但無法確定成功動作(此時已將其評論為成功和錯誤情況下調用)

編輯:看看將來如何彈出這個問題,檢查http.post成功或失敗的邏輯是http.post

事實上,subscribe方法允許注冊成功和制作的回調。 也許箭頭功能會打擾你一點:

this.http.get(...)
  .map(res => res.json())
  .subscribe(
    data => {
      // Processing for successfull response
    },
    error => {
      // Processing for failures
    }
  );

您只能返回observable(例如來自服務)但不返回結果,因為HTTP請求是異步的。 然后,您可以在組件中訂閱它,例如,設置要在視圖中顯示的組件屬性。

希望它能幫到你。 蒂埃里

你可以使用then函數鏈接http.get() ,你可以在其中放置成功和錯誤回調:

this.http.get(URL+params).then(function(data){
    // success
}, function(data){
    // error
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM