我的工作angular2的應用程序中,我想提出通過HTTP REST調用如下:如何在angular2中手動拋出可觀察的錯誤?
login(email, password) {
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let options = new RequestOptions({ headers: headers });
let body = `identity=${email}&password=${password}`;
return this.http.post(`${this._configService.getBaseUrl()}/login`, body, options)
.map((res: any) => {
let response: any = JSON.parse(res._body);
if (response.success == 0) {
Observable.throw(response); // not working
} else if (response.success == 1) {
console.log('success');
localStorage.setItem('auth_token', 'authenticated');
this.loggedIn = true;
return response;
}
});
}
基本上我想我的組件得到響應&錯誤在我的訂閱電話。
即
this._authenticateService.login(this.loginObj['identity'],this.loginObj['password']).subscribe(
(success)=>{
this.credentialsError=null;
this.loginObj={};
this._router.navigate(['dashboard']);
},
(error)=>{
console.log(error);
this.credentialsError=error;
}
);
但我的API總是返回它的ID定義的方式成功。
因此,我想知道如果response.success == 0
,我怎麼能拋出錯誤消息,以便它將被訪問我的訂閱回調的錯誤參數。
是什麼身份代碼你得到,我的意思是它可以是其他然後0? –
@MrJSingh設計API的人只會返回成功0或1來驗證response.so我的操作是成功的,它會返回success = 1或者它會返回success = 0。現在我想拋出錯誤,如果成功是可能的嗎? –
讓我試試我的應用程序,從技術上講它應該是可能的。 –