У меня есть служба аутентификации, которая сохраняет токен, и результат сохранения токена - это обещание. Я хотел бы, чтобы значение возвращалось к другой функции только после того, как обещание было разрешено.Выполнение наблюдаемого только в том случае, когда обещание разрешено в угловом2/ionic2
Это мой authservice, который сохраняет маркер:
login(user: UserModel): Observable<any> {
return this._http.postnoAuth(this.loginurl + "mobile-login", body)
.map((response: Response) => {
let token = response.json() && response.json().access_token;
if (token){
this._storage.set('currentUser', JSON.stringify({token: token}))
.then(res=>{
return true; //return true after the promise is resolved
});
}
else{
return false;
}
})
//.catch(this.handleError);
}
Тогда я подписавшись выше:
this._authservice.login(this.user).subscribe(respose => {
if(response){ //expecting true here
console.log("true");
}
else{
console.log("false");
}
loader.dismiss();
this.submitted = false;
},
error=> {
this.submitted = false;
}
);
Приведенный выше код всегда регистрирует ложные, даже когда значение хранения было установлено , Что может быть неправильным?