Angular-Fullstack获取当前的用户ID

我正在使用https://github.com/DaftMonk/generator-angular-fullstack 。

我有2个模式:

  • 图表
    • 标题:string
    • 数据集:数组
    • _creator:login的用户ID
  • 用户
    • 名称
    • 电子邮件
    • _ID

当我console.log当前用户返回 在这里输入图像说明

$scope.getCurrentUser = Auth.getCurrentUser(); console.log($scope.getCurrentUser); 

但是,当我尝试控制台日志_id:

 $scope.getCurrentUser = Auth.getCurrentUser(); console.log($scope.getCurrentUser._id); 

返回

未定义

有人可以解释我做错了什么?

Chrome控制台中的对象只有在第一次打开时才会被评估。

这意味着当你console.log一个像Auth.getCurrentUser()的返回值那样的对象时,控制台会显示一个对它的引用 – 在日志调用的时候这个对象包含一个promise对象,但是这个对象最有可能被parsing你在控制台上打开它,所以你看到你正在寻找的财产。

另一方面,在logging$scope.getCurrentUser._id ,这是promise对象的属性查找的结果 – 并且它打印undefined的属性的当前值。

关于干净的代码的一个笔记:您的范围variables被称为getCurrentUser,这使得人们认为它是一个getter函数,但它实际上是一个getter函数的返回值。 这很混乱。