【发布时间】:2019-07-27 03:23:49
【问题描述】:
我的程序中有一些繁重的功能,例如,可能需要一些时间才能完成(<.2s>1s)。这些纯函数,但我不想用计算来延迟应用程序的主要流程。在哪里称呼它更正确?我想在 mapDispatchToProps 中,在选择器中(函数的输出存储在商店中),但这一切都将同步完成,据我了解。在 AC 中,虽然 函数是干净的,但在我看来做错了。
- 现在我在中间件中进行(在客户端计算,但这不是副作用或什么?)李>
next(action)首先简单地在计算开始时设置一个标志,然后在MW函数内部调用返回 Promise,当函数完成时,它 dispatch 数据到存储并设置标志(计算完成)。我觉得这种做法并不完全正确。对此有什么想法吗?
- 如果平均函数计算时间>1s怎么办?
函数是CLEAN,必须在客户端计算ONLY
现在我在中间件
中称这个纯函数export default (store) => (next) => (action) => {
const { computeSomeData, type, ...rest } = action
if (!computeSomeData) return next(action)
store.dispatch({
type: type + START,
...rest
})
someAsyncFunc(computeSomeData)
.then(
response => store.dispatch({...})
error => store.dispatch({...})
)
}
- 正确吗?
【问题讨论】:
标签: javascript reactjs redux middleware