Библиотека подчёркивания предоставляет функцию debounce, которая предотвращает множественные вызовы функции в течение заданного периода времени. В их версии используется setTimeout.
Как мы можем сделать это в чистом коде AngularJS?
Кроме того, можно ли использовать стиль $q promises для извлечения возвращаемого значения из вызываемой функции после периода debounce?