Я пытаюсь использовать обещание для подключения пользователя в моем Ionic App.Я пробовал много вещей ... но это не работает.В чем проблема ?Не могли бы вы мне помочь?
Я должен выполнить функцию загрузки, прежде чем проверять "доступ".
Это мой код в настоящее время.В чем дело ?(В настоящее время ошибка такова: «Функция, объявленный тип которой не является ни« void », ни« any », должна возвращать значение.»)
Это моя функция загрузки (без проблем, это то, что я долженвыполнить сначала)
load(credentials)
{
let headers : any = new HttpHeaders({ 'Content-Type': 'application/json' }),
options : any = { "pseudo" : credentials.email, "mdp" : credentials.password },
url : any = "http://localhost:8888/authVerif2.php" ;
return new Promise((resolve) => {
this.http
.post(url, JSON.stringify(options), headers)
.subscribe(data => {
console.dir(data);
this.infosUser = data;
//console.log(this.infosUser[0].prenom);
resolve(this.infosUser);
},
(error : any) =>
{
console.dir(error);
});
})
}
Это моя функция входа в систему:
public login(credentials) : Observable<any>{
this.load(credentials)
.then( a =>
{
if (credentials.email === null || credentials.password === null) {
return Observable.throw("Please insert credentials");
} else {
return Observable.create(observer => {
// At this point make a request to your backend to make a real check!
let access = (credentials.password === "pass" && credentials.email === "email");
this.currentUser = new User('Simon', 'saimon@devdactic.com');
observer.next(access);
observer.complete();
});
}
}
);
}
эти две функции находятся в поставщике с именем "auth-service".Этот провайдер используется на моей странице "login.html"
public login() {
this.showLoading()
this.auth.login(this.registerCredentials).subscribe(allowed => {
if (allowed) {
this.nav.setRoot(HomePage);
} else {
this.showError("Access Denied");
}
},
error => {
this.showError(error);
});
}