2016-08-17 3 views
2

Каков наилучший способ отображения индикатора выполнения в приложении Angular2 при выполнении HTTP-запроса?Каков наилучший способ отображения индикатора выполнения в Angular2?

Я попытался следующие с помощью AngularMaterial2 progress bar:

<md-progress-bar mode="determinate" value="myValue"></md-progress-bar> 

Но как найти «значение» для приведенного выше кода?

(Если это не представляется возможным выяснить фактический ход запроса HTTP, что является лучшим способом для достижения прогресса в стиле бар Youtube или GitHub?)

+1

Вы не можете узнать фактический прогресс в HTTP-запросе. – str

+0

Вы попробовали? не уверен, работает ли он так. https://stackoverflow.com/a/37159100/5227141 – j2L4e

ответ

-3

Использование библиотеки, модуля или пакеты из общественного исходный код широко доступен в интернете

Вот некоторые угловые 2 примера:

  1. https://embed.plnkr.co/rx4RJUFjHqGYMA3jRxDL/

  2. http://www.angulartypescript.com/angular-2-progress-bar/

+0

Они, похоже, для Angular1? – duke636

+0

Я фиксирую ссылки теперь как угловые 2 –

0

Мы не можем определить время, необходимое для выполнения запроса HTTP, поэтому режим indeterminate больше подходит для продвижения HTTP запросов.

Угловая функция Http возвращает наблюдаемое, на которое мы можем подписаться и обрабатывать ответ, прямо сейчас нет механизма для получения прогресса от службы Http.

Один из способов - использовать XmlHttpRequest для прослушивания progress event и, если использовать его свойство lengthComputable, и может отображать индикатор выполнения соответственно.

Таким образом, одним из способов достижения индикатора хода работы Youtube или Github был shown in this answer.

Если у вас есть несколько запросов, вы можете использовать количество заполненных запросов в процентах.