У меня есть метод, который возвращает обещание, например:
checkLogin(credentials) {
return new Promise((resolve, reject) => {
this.http.post(url, credentials)
.map(res => res.json())
.subscribe(
data => {
resolve(data);
},
err => {
reject(err);
}
);
});
}
Я вызываю этот метод внутри другого:
login(credentials) {
this.checkLogin(credentials)
.then(function(result) {
console.log("ok: ",result);
this.doAlert("ok");
})
.catch(function(err) {
console.log("error: ",err.message);
this.doAlert(err.message)
});
}
Вот где происходит ошибка, говорится «TypeError: this.doAlert не является функцией»:
Но doAlert находится в том же файле, что и остальные, и отлично работает из других мест (не обещает звонки)
doAlert(text) {
let alert = Alert.create({
title: 'Alert;,
subTitle: text,
buttons: ['Ok']
});
this.nav.present(alert);
}
Разве это невозможно сделать?