-1
나는 true 또는 false를 반환하고 싶습니다. Observable과 비동기식입니다. 따라서 httpclient가 끝날 때까지 기다리는 방법을 잃어 버렸습니다.각도 4 HttpClient Observable
현재 isLogin 호출은 항상 false를 반환합니다.
import { Injectable } from '@angular/core';
import { HttpClient , HttpHeaderResponse, HttpHeaders, } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
import { Subscription } from 'rxjs/Subscription';
class LoginData {
UserKey: string;
Password: string;
}
class TokenData {
token: string;
datetime: string;
}
@Injectable()
export class Authenticate {
private Url = 'http://192.168.1.1:6000';
constructor(private http: HttpClient) {}
public isLogin(userkey: string, password: string): boolean {
const logindata = new LoginData();
logindata.UserKey = userkey;
logindata.Password = password;
const retval = false;
this.http.post<TokenData>(`${this.Url}/login`, logindata, {headers: this.getHeader()});
.subscribe(sub => {
if(sub.token)
{
localStorage.setItem('token',sub.token);
retval = true;
}
});
return retval;
}
}
콜백 반환 값은 무엇입니까? –
app.component.ts의 my subscription은 this.auth.isLogin ('smith', 's12367')입니다. subscribe ( localStorage.setItem ('token', s.token); this입니다. route.navigateByUrl ('/ mainpage'); }, err => {console.log ('Error :'+ err);}); – AlbertK
데이터 반환 값은 무엇입니까? –