我想为我的项目的REST
调用构建进度条,例如react-redux-spinner
,当用户单击按钮以启动异步操作时,将显示进度条,并且当操作完成时,进度栏将被填写。
我知道异步操作是不确定的,那么react-redux-spinner
如何显示不确定的持续时间?
是否可以确定REST
通话时间?
答案 0 :(得分:1)
如果您使用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);
看看原始问题:What is the cleanest way to get the progress of JQuery ajax request?
答案 1 :(得分:1)
无法知道请求将花费多长时间。您将1.发送请求,并2.接收响应。您有两种选择:
您必须问自己,加载条/微调器的功能是什么。最后,只是向用户显示您的应用程序正在为他们做某事。第一种解决方案给他们的印象是要花多长时间,无论您是要“欺骗”他们以给他们提供估计还是只是简单地表明微调框取决于您。