Tôi muốn loại bỏ lỗi từ toán tử bản đồ có thể quan sát của tôi dựa trên một điều kiện. Ví dụ: nếu không nhận được dữ liệu API chính xác. Vui lòng xem đoạn mã sau:
private userAuthenticate( email: string, password: string ) {
return this.httpPost(`${this.baseApiUrl}/auth?format=json&provider=login`, {userName: email, password: password})
.map( res => {
if ( res.bearerToken ) {
return this.saveJwt(res.bearerToken);
} else {
// THIS DOESN'T THROW ERROR --------------------
return Observable.throw('Valid token not returned');
}
})
.catch( err => Observable.throw(this.logError(err) )
.finally( () => console.log("Authentication done.") );
}
Về cơ bản như bạn có thể thấy trong mã, nếu phản hồi (đối tượng res) không có 'bearerToken', tôi muốn loại bỏ lỗi. Vì vậy, trong đăng ký của tôi, nó đi vào tham số thứ 2 (handleError) được đề cập bên dưới.
.subscribe(success, handleError)
Bất kỳ đề xuất?
throw 'Valid token not returned';
thì sao?