В ответе event.currentTarget у меня есть размер файла, и мне нужно получить его из event.currenttarget или event.target, чтобы сразу же использовать его для индикатора выполнения.
Я могу видеть ответ и значения в нем (см. изображение ниже), но когда я пытаюсь его получить, он принимает значение «null». Может ли кто-нибудь сказать мне, есть ли способ получить его или отложить событие onProgress до тех пор, пока я не получу ответ, который я могу использовать.
function commonInvHttpCall(invSerialNo){
var progress_circle = document.querySelector('.progress-ring');
var radius = progress_circle.r.baseVal.value;
var circumference = radius * 2 * Math.PI;
progress_circle.style.strokeDasharray = `${circumference} ${circumference}`;
progress_circle.style.strokeDashoffset = `${circumference}`;
function setProgressPerc(percent) {
const offset = circumference - percent / 100 * circumference;
progress_circle.style.strokeDashoffset = offset;
}
var postParams = createPostParamaters(invSerialNo);
var postParam = postParams.split(";");
return $http({
method: 'POST',
url: postParam[0],
data: postParam[1],
responseType: 'blob',
headers : {
'Content-Type' : 'application/json'
},
onProgress: function(event) {
var currentTarget = event.currentTarget;
console.log(currentTarget.response);
var percentComplete = Math.floor((event.loaded / currentTarget.response.size) * 100);
if(percentComplete >= 100){
percentComplete = 100;
}
document.querySelector('#cont').setAttribute('data-pct', percentComplete);
setProgressPerc(percentComplete);
}
});
}.
введите описание изображения здесь