Как оценить продолжительность звонка REST? - PullRequest
0 голосов
/ 26 июня 2018

Я хочу построить индикатор выполнения для REST вызовов моего проекта, например react-redux-spinner, когда пользователь нажимает кнопку, чтобы запустить асинхронное действие, появляется индикатор выполнения и когда действие завершается индикатор выполнения будет заполнен.

Я знаю, что асинхронное действие не определено, так как же react-redux-spinner показать неопределенную продолжительность времени?

Есть ли способ определить REST длительность звонка?

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Нет способа узнать, сколько времени займет запрос. Вы 1. отправите запрос и 2. получите ответ. У вас есть два варианта:

  • Используйте полосу загрузки и угадайте время, которое потребуется, например, установите загрузку до 80% и обработайте последние 20% при получении запроса.
  • Используйте счетчик.

Вы должны спросить себя, какова будет функция загрузочного бруса / счетчика. В конце концов, это просто что-то, чтобы показать пользователю, что ваше приложение что-то для него делает. Первое решение дает им представление о том, сколько времени это займет, хотите ли вы «обмануть» их, чтобы дать им оценку или просто быть откровенным и показать, что вертушка зависит от вас.

0 голосов
/ 26 июня 2018

Если вы используете XMLHttpRequest, вы можете прослушать progress действие:

var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
   if (evt.lengthComputable) {
      var percentComplete = evt.loaded / evt.total;
      //Do something with upload progress here
   }
}, false);

xhr.addEventListener("progress", function(evt) {
    if (evt.lengthComputable) {
        var percentComplete = evt.loaded / evt.total;
        //Do something with download progress
    }
}, false);

Посмотрите на оригинальный вопрос: Какой самый простой способ получить ход выполнения запроса JQuery ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...