我有factory
持有变量 user
并只返回它。 如果user
的值为undefined
,我会向服务器询问该值。我使用 Ajax 返回承诺。但是,如果我从服务器上得不到任何东西,我想要用户或undefined
。
所以基本上问题归结为几行:
function getUser() {
if (user === undefined) {
sessionAuthentication.restoreSession().then(function (r) {
user = r;
});
}
return user;
}
代码基本上是错误的,因为sessionAuthentication.restoreSession()
返回一个promise,我从不等待结果,只返回值。
但是,我不知道如何修复它。基本上我会说
等待
500ms
获得承诺的结果,或者只返回undefined
但我无法使其发挥作用。
此解决方案有问题吗?谢谢!