2013-06-29 3 views
4

Я искал по всему Интернету и не могу найти ничего, что говорит, так или иначе, независимо от того, могу ли я получить статус загрузки данных во время запроса $http.get. Приложение, которое я пишу регулярно, загружает большое количество данных, которые могут занимать до 30 секунд. Вместо отображения анимированного гигабайта загрузки я хотел бы отобразить индикатор выполнения, который показывает состояние загрузки данных. Я использую Angular.js, и это то, что выглядит мой запрос.Найти статус загрузки HTTP-запроса на получение запроса, используя Angular.js

$http.get(<apiURL>).success(function(data,status,headers,config){ 
    $scope.data = data; 
}); 

При успешном выполнении запроса я заполняю свою страницу данными. Есть ли какой-то способ, когда он извлекает данные с сервера, чтобы постоянно читать статус загрузки?

+0

Взгляните на этот ответ SO: http://stackoverflow.com/a/3694435/5651 – jessegavin

+0

Спасибо @jessegavin, я рассмотрю это. – John

+0

Для него есть открытая проблема: https://github.com/angular/angular.js/issues/1934 –

ответ

0

Я нашел фантастическую библиотеку, чтобы использовать ее для достижения того, что я хотел, без изменения кода сервера. Это проект Github под названием Angular Loading Bar. Просто bower или npm install, и он автоматически работает с вашими HTTP-запросами с помощью Angular. Отличная библиотека.

+1

[Угловая панель загрузки] (https://github.com/chieffancypants/angular-loading-bar) это только панель загрузки, а не индикатор выполнения. Он прекрасно имитирует прогресс, но не выводит фактические данные прогресса из службы $ http, а только имитирует его. Фактически получение реального прогресса с $ http еще не реализовано (1.3.15) в угловом. – Max

+0

Точно то, что я говорил. Вы можете использовать его, чтобы имитировать индикатор выполнения. Это не совсем то, что я искал, но за то, что мне было нужно, было как можно ближе. – John