0
我已經定義了以下功能:Ionic 2:如何從創建的Observable中獲取錯誤?
searchProducts(searchText: string){
return Observable.create(observer => {
return this._http.get(this._global.baseUrl + "/products/search/searchProducts?search=" + searchText)
.map(res => res.json())
.subscribe(data => {
observer.next(data);
observer.complete();
},
err => {
return Observable.throw(err); // this statement is called
});
});
}
這裏是調用語句:
this.productService.searchProducts(this.searchItem)
.subscribe(products => {
console.log(products);
},
err => {
console.log(err); // this statement is not getting called
});
問題:當正從服務器產品的認購數據調用回調,但得到錯誤時(比如對於網絡連接超時或網絡錯誤),err回調沒有被調用。
我完全用盡嘗試或找到解決方案,有人可以幫忙嗎?
謝謝...我已經實現了這個事情,它的作品,但我很好奇,想知道爲什麼嵌套的observables不起作用。我花了整整一天的時間找到問題。 –
,因爲您的錯誤發生在訂閱之前。嘗試拋出你的錯誤以外的訂閱方法:.map()。catch()。subscribe() –
刪除額外大括號(錯字),我有.subscribe()與2個參數 –