Ответ 1
Вы не вводили $timeout
. Он должен быть следующим.
app.factory('Position', ['$timeout', function($timeout) {
...
}]);
Декларация таким образом гарантирует, что службы будут правильно идентифицированы, когда ваш код JavaScript будет оценен. Для получения дополнительной информации о том, как это помогает минимизации, см. "Замечание по минимизации" и Объявление Модули AngularJS для минимизации
Если в ваших планах не указано минимализация (например, для быстрого теста), вы можете просто пойти с
app.factory('Position', function($timeout) {
...
});