loginService.islogged()
Наведена вище функція повертає рядок типу "не вдалося". Однак, коли я спробую запустити функцію на ній, вона поверне помилку
TypeError: Cannot read property 'then' of undefined
а курсор вказується відразу після connected
і перед .then
.
Нижче наведено повну функцію:
var connected=loginService.islogged();
alert(connected);
connected.then(function(msg){
alert("connected value is "+connected);
alert("msg.data value is "+msg.data);
if(!msg.data.account_session || loginService.islogged()=="failed")
$location.path('/login');
});
ОНОВЛЕННЯ
Ось islogged()
функція
islogged:function(){
var cUid=sessionService.get('uid');
alert("in loginServce, cuid is "+cUid);
var $checkSessionServer=$http.post('data/check_session.php?cUid='+cUid);
$checkSessionServer.then(function(){
alert("session check returned!");
console.log("checkSessionServer is "+$checkSessionServer);
return $checkSessionServer;
});
}
Я впевнений, що в $checkSessionServer
результаті вийде рядок "не". Більше нічого.
що потрібно покликати, щоб отримати
—
Даніель А. Білий
msg
- що повинно повернути обіцянку.
Якщо помилка стосується
—
Джонатан Лоновський
undefined
, то islogged()
насправді return
це не значення. Визначення islogged()
, ймовірно, буде джерелом ваших питань.
Ймовірно, ваш метод islogged у певному випадку не повертає значення. Після цього я бачу, що ви НЕ використовуєте islogged як метод асинхронізації, тому він, ймовірно, взагалі не повертає обіцянку.
—
Андрій Каурін
@Jonathan Lonowski Я щойно опублікував функцію islogged. Сподіваюсь, що принесе більше розуміння.
—
Ezeewei
promise
тут немає.