[英]Error: Uncaught (in promise): [object Object]
@Injectable()
class MyErrorHandler implements ErrorHandler {
handleError(error) {
// exception occured in some service class method.
console.log('Error in MyErrorhandler - %s', error);
if(error == 'Something went wrong'){
//do this.
}else{
//do this thing.
}
}
}
當在某個類中的方法拋出異常時,MyErrorHandler 類會將捕獲的Error in MyErrorhandler - Error: Uncaught (in promise): [object Object] Error: Something went wrong.
打印為Error in MyErrorhandler - Error: Uncaught (in promise): [object Object] Error: Something went wrong.
問題 1 :為什么錯誤顯示為Error: Uncaught (in promise): [object Object]
?
問題 2 :由於上述消息,即使在任何情況下代碼的if(error == 'Something went wrong')
的情況下,它也將始終讀取 else 部分。我該如何解決這個問題?
嘗試添加
if(error.message == 'Something went wrong'){
}
而不僅僅是錯誤。 因為錯誤是一個對象。
有必要檢查你的承諾中的回應......
你必須捕捉決心並拒絕......
通常發生這種情況是因為拒絕的值不是被捕獲
例如
創造承諾...
promise= () => {
return new Promise((resolve, reject) => {
if (condition) {
resolve(true);
}else{
reject(false);
}
});
}
在這里捕獲承諾中的所有可能的響應..
this.services.promise().then(
(data) => {
here capture your resolve
},
(err) => {
here capture your resolve
}
);
或
this.services.promise()
.then((res) => {
console.log('response in resolve = ', )});
).catch((err)=> {
console.log('response in reject = ', err)
})
實際情況 estoy trabajando de esta manera。
`import { Injectable, ErrorHandler, Injector } from '@angular/core'; 從 './_alert.service' 導入 { AlertService };
@Injectable({ providedIn: 'root' }) 導出類 ErroresService 實現 ErrorHandler {
構造函數(私有 sv_alert:AlertService){}
handleError(err:any) { const message = err.message ? err.message: err.message.toString(); this.sv_alert.AlertaMensajeError( ${ message }
); } }`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.