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函数的返回值。 这很混乱。