Задать вопрос
@Drm

Почему появляется ошибка Cannot read property 'defer' of undefined?

Доброго времени суток. Потребовалось мне сделать возможность таймаута у promice в ангуляр у библиотеки $q.

На просторах буржуанета нашел статью, где через декоратор добавляется возможность создавать timeout (сама статья)

Выполнил все по инструкции, получился такой код:

$provide.decorator('$q', function decorateQ($delegate) {
      // $delegate is the native angular $q service
      var _defer = $delegate.defer;
      // keep the original $q.defer function

      $delegate.defer = function newDefer() {
        var d = _defer(); // create the deferred object as before
        d.promise.timeout = function (ms, callback) {
          setTimeout(function () {
            if (pending) {
              cb(callback);
            }
          }, ms);
        };
        return d;
      };
    });


Но появляется ошибка :
Uncaught TypeError: Cannot read property 'defer' of undefined


и если я правильно понимаю, то интерпритатор не может найти свойство defer в библиотеке $q. Так? Как это победить?
  • Вопрос задан
  • 451 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы