【发布时间】:2016-11-03 13:28:41
【问题描述】:
是否有干净/简短/正确的方式来一起使用 axios 承诺和上传进度事件?
假设我有下一个上传功能:
function upload(payload, onProgress) {
const url = '/sources/upload';
const data = new FormData();
data.append('source', payload.file, payload.file.name);
const config = {
onUploadProgress: onProgress,
withCredentials: true
};
return axios.post(url, data, config);
}
这个函数返回了承诺。
我还有一个传奇:
function* uploadSaga(action) {
try {
const response = yield call(upload, payload, [?? anyProgressFunction ??]);
yield put({ type: UPLOADING_SUCCESS, payload: response });
} catch (err) {
yield put({ type: UPLOADING_FAIL, payload: err });
}
}
我想接收进度事件并将其放在 saga 中。我还想捕捉 axios 请求的成功(或失败)结果。有可能吗?
谢谢。
【问题讨论】:
标签: reactjs redux redux-saga