Задать вопрос
@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. Так? Как это победить?
  • Вопрос задан
  • 453 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
  • Skillfactory
    Профессия Frontend-разработчик PRO
    14 месяцев
    Далее
  • Компьютерная академия «TOP»
    Frontend разработка
    12 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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