如何返回错误并将其发送到组件 ts 以便用户可以检测到错误是什么?下面的代码是一个登录功能。
我希望来自 API 的错误消息在组件 ts 处返回并将其显示为有角度的材料吐司。
signIn(payload: signInRequestPayload): Observable<Account> {
try {
return this.query({
document: login_user
payload,
}).pipe(
map((result: any) => {
console.log(result);
if (result.data.length) {
return result.data[0] as Account;
}
throw Error("")
})
);
} catch (error) {
throw Error(`Unable to retrieve user account`);
}
}
答案 0 :(得分:0)
我们可以在 map
中抛出错误,而 subscriber
可以处理错误。
signIn(payload: signInRequestPayload): Observable<Account> {
return this.query({
document: login_user,
payload,
}).pipe(
map((result: any) => {
if (result.data.length) {
return result.data[0] as Account;
} else {
throw new Error('...');
}
});
);
}
那么应该由订阅者来处理错误:
第一个回调函数用于成功,第二个回调用于错误场景。
signIn.subscribe(response => {/* successful response */}, error => {/* error response */});