javascript - Redux 并 promise 进度

标签 javascript redux redux-thunk

我如何处理并 promise redux 的进展?

我想在执行 promise 时显示一些旋转条或其他东西,我正在使用 axios来处理请求,但它们有一个 api 来处理请求的配置对象中的进度,如下所示:

{  
   progress: function(progressEvent) {
       // Do whatever you want with the native progress event
   }
}

但我只能在 redux 操作中发送请求,例如:

return {
    type: "HTTP_REQUEST",
    payload: axios.get("/webAPI/data", configObj)
}

在这些条件下我该如何处理进度事件?

最佳答案

虽然 gabdallah 的答案是正确的,但我觉得它只部分回答了问题。如果您愿意,可以轻松组合两个答案中的代码。

如果您确实想要向用户显示进度,您可以从进度回调中分派(dispatch)特定的进度操作,并将当前进度作为负载。像这样的事情:

{  
   progress: function(progressEvent) {
       return dispatch({
           type: "HTTP_REQUEST_PROGRESS",
           payload: {
               url: "/webAPI/data",
               currentBytes: progressEvent.current,
               totalBytes: progressEvent.total // properties on progressEvent made up by yours truly
           }
       });
   }
}

本质上,您只需要另一个代表请求进度的操作,就像您已经有一个用于发起请求的操作(可能还有一个用于成功和不成功结果的操作)。

关于javascript - Redux 并 promise 进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36011730/

相关文章:

javascript - 在正则表达式中可以只接受换行输入吗?

php - onclick 不调用 javascript 函数

javascript - 在react-redux实现中mapStateToProps如何接收更新后的状态

javascript - Thunk Action 主体未被调用

redux - 一旦服务器端验证以 redux 形式通过,就调度一个 Action

javascript - Angular 指令在 $http 之后未更新

javascript - 如何使用 Javascript 在 CSS 中隐藏和检索 URL

reactjs - redux-form getFormState 副作用

node.js - 从服务器获取当前用户信息的同时获取304状态代码

javascript - 我应该在 Redux 中存储 promise 吗?