解决承诺并返回实际值

时间:2016-01-28 17:02:27

标签: javascript angularjs promise angular-promise

我有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

但我无法使其发挥作用。

此解决方案有问题吗?谢谢!

0 个答案:

没有答案
相关问题