2017-03-29 22 views
5

मैं किसी भी त्रुटि है कि मेरे सभी सेवाओं का एक आम लॉगिंग सेवा करने के लिए एक HTTP अनुरोध में हो सकता है पारित करने के लिए कोशिश कर रहा हूँ में observables साथ निपटने त्रुटि खो गया। मैंने इसे एक मोटी तीर के रूप में परिभाषित करने का प्रयास किया है, लेकिन मुझे टीएस कंपाइलर से टाइप त्रुटियां मिलती हैं। मैंने पर्यवेक्षण दस्तावेज में सटीक वाक्यविन्यास का उपयोग किया है।कोणीय 2

+1

गुंटर, एक और अधिक सुरुचिपूर्ण समाधान है। मुझे उसकी तुलना में बेहतर पसंद है। – Mardok

उत्तर

-1

मैं अपने कोड नहीं चला है, लेकिन अगर आप इसे एक्सेस करना चाहते हैं, आपको इसे पास करना पड़ सकता है।

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 (गलती, यह); } 'काम नहीं करता है। कंपाइलर मुझे देता है: प्रकार का तर्क '(गलती: कोई भी) => शून्य' प्रकार के पैरामीटर के लिए असाइन करने योग्य नहीं है '(गलती: कोई भी, पकड़ा गया: अवलोकन योग्य ) => पर्यवेक्षण इनपुट <{}>'। – vinnylinux

+0

नोटिफ़ाइंटर से प्रकार को हटाने का प्रयास करें (त्रुटि: कोई भी – Mardok

+0

या Gunters उत्तर का उपयोग करें। – Mardok