loginService.islogged()
Hàm trên trả về một chuỗi như "fail". Tuy nhiên, khi tôi cố gắng chạy sau đó hoạt động trên nó, nó sẽ trả về lỗi
TypeError: Cannot read property 'then' of undefined
và con trỏ được chỉ ra ngay sau connected
và trước đó .then
.
Dưới đây là chức năng đầy đủ:
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');
});
CẬP NHẬT
Đây là islogged()
chức năng
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;
});
}
Tôi chắc chắn rằng $checkSessionServer
sẽ dẫn đến một chuỗi "không thành công". Chỉ có bấy nhiêu thôi.
những gì cần được gọi để nhận được một
—
Daniel A. White,
msg
- điều đó sẽ trả về một lời hứa.
Nếu lỗi liên quan đến
—
Jonathan Lonowski,
undefined
, thì islogged()
thực tế không phải là return
một giá trị. Định nghĩa của islogged()
có thể sẽ là nguồn gốc của các vấn đề của bạn.
Có thể là phương thức bị khóa của bạn không trả về giá trị trong một số trường hợp. Sau đó, tôi thấy rằng bạn KHÔNG sử dụng phương thức islogged async vì vậy nó có thể không trả lại lời hứa nào cả.
—
Andrej Kaurin,
@Jonathan Lonowski Tôi vừa đăng chức năng được đăng. Hy vọng rằng sẽ mang lại cái nhìn sâu sắc hơn.
—
Ezeewei,
promise
ở đây.