TypeError:无法读取未定义的属性“ then”

loginService.islogged()

上面的函数返回类似“ failed”的字符串。但是,当我尝试运行然后在其上运行时,它将返回错误

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将会导致“失败”字符串。而已。

回答:

您需要将诺言返回给调用函数。

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; // <-- return your promise to the calling function

}

以上是 TypeError:无法读取未定义的属性“ then” 的全部内容, 来源链接: utcz.com/qa/404204.html

回到顶部