У меня есть базовый класс в AngularJS 2 для restClient для вызова данных из API с помощью этого метода:AngularJS 2 ZoneAwarePromise вместо логического значения
public getInfoDataBooleanRequest(url: string): InfoDataBoolean {
return this.http.get(this.urlApiPrefix + url, this.createRequestOptions())
.toPromise()
.then(response => <InfoDataBoolean>response.json())
.catch(this.handleError);
}
, где InfoDataBoolean класса с двумя свойствами:
export class InfoDataBoolean {
public data: boolean;
public error: string;
}
У меня есть другой класс, где я назвал свой метод обслуживания. Этот вызов находится внутри метода, где я хочу вернуть данные из InfoDataBoolean, а не класса InfoDataBoolean, как это.
public isLogged(): boolean {
return this.getInfoDataBooleanRequest('islogged').then(x => {
let result: InfoDataBoolean = x;
if(result.error !== "1") {
console.log('Success is failed');
return false;
}
return result.data;
});
}
Выход console.log(isLogged())
:
ZoneAwarePromise {__zone_symbol__state: нуль, __zone_symbol__value: Array [0]}
Но я хочу вернуться true
или false
из моего метода isLogged()
.
Как это сделать?