Получение объекта Resource вместо значения с использованием Node и Angular

0

Я пытаюсь получить значение, возвращаемое через функцию getCurrentUser авторизации. При вызове функции я получаю этот ресурс с обещанием. Я вижу значение _id там! Как мне получить к нему доступ?

Заранее спасибо! Консольный выход

Здесь немного службы Auth, где определяется getCurrentUser:

(function config() {
  function AuthService($location, $http, $cookies, $q, appConfig, Util, User) {
    const safeCb = Util.safeCb;
    let currentUser = {};
    let Auth = {};
    const LOCAL_HOST = 'localhost';

    if ($cookies.get('token') && $location.path() !== '/logout') {
      currentUser = User.get();
    }

    Auth = {
      getCurrentUser(callback) {
      if (arguments.length === 0) {
        return currentUser;
      }

      const value = currentUser.hasOwnProperty('$promise') ? currentUser.$promise : currentUser;
      return $q.when(value).then(user => {
        safeCb(callback)(user);
        return user;
      }, () => {
        safeCb(callback)({});
        return {};
      });
    }
...

Здесь я называю это:

    angular.module('toroApp').directive('csvreaderDirective', ['$http', function ($http, Auth) {

      return {
        controller(Auth) {
          const currentUser = Auth.getCurrentUser();
          console.log(currentUser);
        },
        compile(element, Auth) {
    ...
  • 0
    Пожалуйста, покажите ваш код.
Теги:
nested
angular-promise

1 ответ

0
Лучший ответ

Auth.getCurrentUser() возвращает обещание $ q, поэтому вам нужно использовать API обещаний, чтобы получить результат.

controller(Auth) {
    Auth.getCurrentUser().then(function (user) {
        const currentUser = user;
        console.log(currentUser);
    });
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню