Javascript 如何使用“获取百分比”;onUploadProgress“;axios?
我目前正努力从axios的Javascript 如何使用“获取百分比”;onUploadProgress“;axios?,javascript,reactjs,axios,Javascript,Reactjs,Axios,我目前正努力从axios的onUploadProgress中获取百分比。下面的代码不会打印正确的百分比 我的问题是如何在List.js文件中访问percentage值 UsersApi.js importUsersList: (payload) => { const options = { method: 'POST', url: '/users/import ', data: payload, onUploadProgress: (
onUploadProgress
中获取百分比。下面的代码不会打印正确的百分比
我的问题是如何在List.js文件中访问percentage
值
UsersApi.js
importUsersList: (payload) => {
const options = {
method: 'POST',
url: '/users/import ',
data: payload,
onUploadProgress: (progressEvent) => {
const { loaded, total } = progressEvent;
let percentage = Math.floor((loaded * 100) / total);
console.log('percentage => ', percentage);
},
};
return API.request(options);
};
dispatch(importUsersList(file));
List.js
importUsersList: (payload) => {
const options = {
method: 'POST',
url: '/users/import ',
data: payload,
onUploadProgress: (progressEvent) => {
const { loaded, total } = progressEvent;
let percentage = Math.floor((loaded * 100) / total);
console.log('percentage => ', percentage);
},
};
return API.request(options);
};
dispatch(importUsersList(file));
我假设您希望在
列表中显示上载进度
这意味着您需要在列表的状态中引入例如uploadedPercent:number
字段
由于看起来您正在使用某种减速器,因此需要调度一个操作,例如setUploadProgress(uploadedPercent:number)
,该操作将更改您的状态
该操作需要在onUploadProgress
中调度
然后,您可以将签名更改为importUserList(有效负载,onUploadProgress)
并传递处理程序:
const onUploadProgress=(progressEvent)=>{
const{loaded,total}=progressEvent;
常数百分比=数学楼层((荷载*100)/总计);
调度(设置加载进度(百分比));
};
发送(导入列表(文件、onUploadProgress));