2
저는 Angular 2 최종 버전을 사용 중이며 다른 HTTP 요청에 따라 HTTP 요청을 수행하려고합니다.Angular2 : Observable flatMap error 정의되지 않은 'subscribe'속성을 읽을 수 없습니다.
는 는내 경우 (인 getUser) 다른 HTTP 요청에서 반환 매개 변수로 사용자 ID와 getAccount에 노력하고있다
AccountService에:
constructor(private http: Http, private userService: UserService) {
}
getAccount(): Observable<Account> {
let tenant: string = 'test';
Observable.fromPromise(this.userService.getUser()).flatMap(
user => {
return this.http.get('/tenants/' + tenant + '/accounts/' + user.id + '/')
.map((res: Response) => {
return res.json();
});
});
}
UserService는 (외부 시스템에 따라이 같은 작동 필수) :
getUser(): Promise<User> {
return new Promise<User>((resolve, reject) => {
if (KeycloakService.auth.authz.token) {
return KeycloakService.auth.authz.loadUserInfo().success((data) => {
resolve(<User> data);
}).error(() => {
reject(null);
});
}
});
}
getAccount를에서 호출 할 때 AppComponent.ts :
this.accountService.getAccount().subscribe(data => { console.log('account:', data); });
나는 다음과 같은 오류 받고 있어요 :이 오류의 원인을
EXCEPTION: Uncaught (in promise): Error: Error in :0:0 caused by: Cannot read property 'subscribe' of undefined TypeError: Cannot read property 'subscribe' of undefined
어떤 아이디어?
감사
감사 없습니다! 나는 이것에 너무 많은 시간을 보냈다는 것을 믿을 수 없다. –
당신을 진심으로 환영한다. 다행히 문제가 해결되었습니다 .-) –