2016-02-20 19 views
8

Tôi có api trả về 400 hoặc 404 lỗi nếu không thành công.nhận phản hồi api 404 với Angular2 http

Khi tôi chạy phương thức http.get, nó không phát hiện lỗi khi đăng ký và phát sinh lỗi.

Http.get(`api/path/here`).map(res => res.json()).subscribe(
      data => console.log(data), 
      error => console.log(error) 
     ); 

Tiếp theo là lỗi tôi nhận được

enter image description here

+0

hãy xem trong 'tab network' cho' tình trạng code' và trong tab xem trước để biết thông tin lỗi –

+0

@PardeepJain mã trạng thái là 400 mà whats api trả về, nếu không tìm thấy đối tượng người dùng. – Basit

Trả lời

6
.subscribe(res=>{ 
    this.data=res; 
    console.log('bye'); 
}, 
(err)=>console.log(err), 
()=>console.log("Done") 
); 

Hãy thử cách này.

11

Bạn cũng có thể sử dụng các toán tử catch

http.get(`api/path/here`) 
    .map(res => res.json()) 
    .catch(
     err => { 
      // handle errors 
     }) 
    .subscribe(
     data => console.log(data) 
    ); 
+1

Liệu "bắt" có bất kỳ lợi ích nào khi sử dụng phương pháp "onError" trên chính nhà điều hành đăng ký không? Nếu tôi chỉ đơn giản là bao gồm việc thực hiện phương pháp "onError", có khả năng tôi có thể có các ngoại lệ không bị bắt buộc có thể do toán tử "map" của tôi gây ra không? Cảm ơn! – slashp

Các vấn đề liên quan