小编Dmi*_*kin的帖子

Redux传奇,axios和进步事件

是否有干净/短/正确的方式共同使用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);
}
Run Code Online (Sandbox Code Playgroud)

这个函数返回了promise.

我也有一个传奇:

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 });
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望收到进展事件并通过传奇发布.此外,我想捕获axios请求的成功(或失败)结果.可能吗?

谢谢.

reactjs redux redux-saga

3
推荐指数
1
解决办法
5288
查看次数

标签 统计

reactjs ×1

redux ×1

redux-saga ×1