你可以使用條件和 Angular 訂閱功能嗎?就像,在這段代碼中:
this.http.post<any>(phpUrl, content)
.subscribe(
(r) => {
if(r.message) // That's how the target script actually manages errors
{
console.log(r.message);
this.handleErrorPhp(r, formData.email);
}
else
{
this.router.navigate(['/login'], { queryParams: { register: true } });
}
},
(error) => {
this.handleErrorPhp(error, formData.email);
}
);
當腳本沒有發現任何錯誤時,我也想導航到登錄頁面。但是,即使“r.message”為空,我的代碼也會出錯并停止,告訴我 r.message 沒有定義。
編輯:這是控制臺錯誤日志:
ERROR TypeError: can't access property "message", i is null
uj5u.com熱心網友回復:
我會說r在嘗試訪問它的屬性之前檢查是否已定義message。有關雙鍵運算子的更多資訊在這里。
this.http.post<any>(phpUrl, content).subscribe(
(r: any) => {
if (!!r && !!r.message) {
console.log(r.message);
this.handleErrorPhp(r, formData.email);
} else {
this.router.navigate(['/login'], { queryParams: { register: true } });
}
},
(error: any) => {
this.handleErrorPhp(error, formData.email);
}
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/421752.html
標籤:
