2017-03-29 25 views
5

Tôi đang cố gắng để vượt qua bất kỳ lỗi nào có thể xảy ra trong một yêu cầu HTTP đến một dịch vụ khai thác gỗ thông thường từ tất cả các dịch vụ của tôi Lỗi bị mất. Tôi đã cố gắng xác định điều này như là một mũi tên chất béo, nhưng tôi nhận được lỗi loại từ trình biên dịch TS. Tôi đã sử dụng cú pháp chính xác trong tài liệu Quan sát được.xử lý với quan sát ở góc 2

+1

Gunter, có giải pháp thanh lịch hơn. Tôi thích tốt hơn tôi. – Mardok

Trả lời

-1

tôi đã không chạy mã của bạn, nhưng nếu bạn muốn truy cập mục này, bạn có thể phải chuyển nó vào.

import { Observable } from 'rxjs/Observable'; 
import 'rxjs/add/operator/catch'; 

constructor(logger: LoggerService) { } 

doSomething(): Observable<any> { 
    return this.http 
     .post('/foo/bar', {}) 
     .catch(err => { 
      this.notifyErrors(err, this); 
     }); 
} 

protected notifyErrors(error, that): Observable<any> { 
    that.logger.log(error); 
    return Observable.throw(error); 
} 
+0

'err => {this.notifyErrors (err, this); } 'không hoạt động. Trình biên dịch cho tôi: Đối số của kiểu '(err: any) => void' không thể gán cho tham số kiểu '(err: any, caught: Observable ) => ObservableInput <{}>'. – vinnylinux

+0

Thử xóa loại Câu hỏi từ thông báo (lỗi: bất kỳ – Mardok

+0

Hoặc Sử dụng Gunters nào. – Mardok

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