1
인증 서비스를 호출하는 로그인 서비스가 있으며 API 서버에서 되돌아 오는 오류를 트래핑해야합니다.각도 2 서비스에서 관찰 가능한 오류 처리
loginUser() {
console.log(this.localUser.email);
console.log(this.localUser.password);
this.loginService.loginUser(this.localUser)
.subscribe(
token => {
console.log('token = ' + token)
this.token = token},
error => {
this.errorMessage = <any>error
console.log("err msg = " + this.errorMessage);
},
() => this.completeLogin());
}
이 내 로그인 서비스 :
나는 현재 나의 login.component이이
loginUser(localUser: LocalUser) {
return this.authorizationService.loginUser(localUser);
}
이 내 인증 서비스로 :
loginUser(localUser: LocalUser): Observable<Token> {
var grantString: string = "grant_type=password&username=";
var passwordString : string = "&password="
var email = localUser.email;
var password = localUser.password;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
var creds:string = grantString + email + passwordString + password;
return this.http.post(this.url, creds, { headers: headers })
.retry(2)
.timeout(20000, new Error('Timeout expired.'))
.delay(1000)
.map((response: Response) => <Token>response.json())
.catch(this.handleError);
}
handleError(error: any) {
let errorMsg = error.message || 'Server error';
console.error(errorMsg);
return Observable.throw(errorMsg);
}
문제 반환 된 오류 메시지는 서버 오류가 아니지만 다음과 같습니다. "err msg = TypeError : 개체가 속성 또는 메서드 'throw'를 지원하지 않습니다. "
실제 메시지를받는 방법에 대한 아이디어가 있습니까?
... 감사 : 여기에 전체 목록 확인을 위해
. –